[C++] 백준 2292 문제 해설
·
Algorithm/BACKJOON
2292번: 벌집위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌www.acmicpc.net 벌집 문제로 이전에 했던 투포인트보다 논리적으론 조금 어려운 문제이다.(나는 투포인트 문제가 더 쉬웠다) 설명 문제는 비교적 직관적으로 이해하기 쉬운 편이다.위와 같이 벌집이 있을때, 벌집을 자세히 관찰 해 보면 특정 숫자 구간마다 경로가 증가하는것을 확인할 수 있다.위 선을 기준으로 벌집의 경로가 하나씩 증가한다.7 의 경우엔 = 1,7 → 28 의 경우엔 = 1,2,8 or 1,7,8 → 3육각형 내의 경로점을 그려보면,같은 육각형 내의 선분이 지나가는 모든 구간은같은 ..
[C++] 백준 3273 문제 해설
·
Algorithm/BACKJOON
3273번: 두 수의 합n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i www.acmicpc.net 요즘 머리를 좀 안 쓴것 같아서 오늘부터 백준을 한 문제씩 풀어보려 한다. (안되면 말고)처음으로 시도해 본 문제는 비교적 쉬운 투포인터 문제이다.  처음볼땐 언어적으로 이해하기가 힘들어서그냥 코드를 먼저 살펴보니 쉽게 이해가 되었다.  설명입력 3개를 받는다.첫 입력 = 받을 수열의 size두번째 입력 = ' ' 로 구분지은 수열세번째 입력 = 수열중 2개를 더해서 나와야 되는 숫자. 'n개의 서로 다른 양의 정수' 를 입력 받는다 ..
[Linux] crypto++ 리눅스 빌드 방법
·
Operating System
Crypto++ Library 8.5 | Free C++ Class Library of Cryptographic Schemes key agreement schemes Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), Hashed MQV (HMQV), Fully Hashed MQV (FHMQV), LUCDIF, XTR-DH www.cryptopp.com Crypto++ 는 C++ 용 무료 암호화 체계 라이브러리 이다. 그런데 이놈을 다운받아 보면 특이하게도 visual studio 기준으로 프로젝트가 구성되어 있다. 나는 CMake & GCC 를 이용해서 이놈을 이용하고 싶었다. (즉 리눅스용 라이브러리를 만들고 싶었..
[Java] 인터페이스 구현 방법
·
Programming/Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package test; interface IKK { void start(); } public class Gisafirst { public static void b(IKK k) { k.start(); System.out.println("aa"); } public static void main(String[] args) { b(new IKK() { @Override public void start() { // TODO Auto-generated method stub System.out.println("interface"); } }); }..
[C++] 인터페이스에 관한 팁 (순수가상함수)
·
Programming/C++
1. 소멸자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include class AAA { public: //virtual ~AAA() {}; virtual void print() = 0; }; class A { public: A() {}; int b = 10; virtual void print() { std::cout
[C++] 다형성 vitual 키워드에 관한 팁
·
Programming/C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #include class A { public: A() {}; int b = 10; void print() { std::cout
VS Code : Server for WSL closed unexpectedly
·
Tools/Etc
Visual Studio Code 내에서 Docker, WSL 관련된 오류로 다음과 같은 경고메세지가 뜨면서, 제대로 동작을 안 할때가 있다. 필자의 경우에는 Docker 를 통해 VsCode 에서 사용해 보려다, 귀찮아서 다시 WSL 2 로 돌아왔는데, 돌아오는 과정을 살펴보니 위와 같은 오류가 발생하더라. VS Code Server for WSL closed unexpectedly: Input/output error · Issue #2818 · microsoft/vscode-remote-release VSCode Version: 1.44.2 Local OS Version: Windows 10 Remote OS Version: Ubuntu 18.04 Remote Extension/Connection T..
ffmpeg 커맨드 모음
·
Tools/Etc
0. windows 10 환경에서 FFmpeg 를 굳이 코딩하려 하지 말것. 불가능한건 아닌데, 굉장히 귀찮다. 예제만 20개를 넘게 본 듯 싶은데 최신버전 기준에서 제대로 동작하는 예제가 단하나도 없었다. ffmpeg 는 Linux 기반 순수 C 언어로 작성되어 있음에 유의하라. GCC Linux 기반에서는 동작할것이나, VS Windows 10 기반 C++ 에서는 굉장히 제한적으로 동작한다. 때문에 Windows 상에서 제대로 빌드하려면, MinGW or WSL 환경 설정하랴, 예제에서 구현안된 기능 구현하는 다른 예제 찾아보랴. 여러모로 귀찮다. 최종기능 구현에 짧으면 이틀, 길면 4~5일까지도 날릴거고, 아무것도 모르는 초보자들은 원하는 기능 구현에 2주넘게 걸릴수도 있다. 잘 wrapping 된..
개발자로서 Radeon 이 최악인 이유.
·
Miscellaneous
요즘은 '편한' 시대다.조선시대 때에 서울에서 부산까지 가는 방법은1) 걸어간다.2) 말 타고 간다.3) 가마타고 간다.라는 선택지 밖에 없었다.그러나 지금은 수많은 방법이 있다. 지금도 '굳이' 저 방법을 사용하는 사람은, 국토대장정, 배낭여행 아니면 없을거다.  근데 AMD는 굳이 저 방법을 쓴다   나는 2018 년 부터 AMD Radeon GPU를 사용했다,그때부터 학교에서 GPU 이용해서 쓰는 코드를 일부 작성 하였었는데,대게 공기관에는 NDIVIA GPU가 설치되어 있기에 그쪽으로 최적화 해서 작업을 했었다. 그러다가 집에서 잠깐 돌려보려고 집에 코드를 가져오면 AMD 용으로 환경을 바꿔줘야 했는데,AMD의 Radeon 기반 자료를 찾는건 너무 빡세서, 1주~2주 단위로 찾다 빡쳐서 포기한다음..
[C++] openSSL Hash 사용법
·
Programming/C++
근본적으로 openssl 은 C++ 기반이 아닌 'C' 언어 기반임을 유의하고 보길 바란다. 다만 해당 포스팅은 Visual Studio 2013 에서 C++ Project 로 만들었다. 우선 해당 포스팅에서 빌드방법은 생략한다. 귀찮거든.... 구라는 치지 않는다. openssl 은 빌드 후, 빌드 결과물을 참조하여 사용한다. 다만 빌드하는 링크 자료는 남겨 두겠다. openssl/openssl TLS/SSL and crypto library. Contribute to openssl/openssl development by creating an account on GitHub. github.com openssl 저장소 openssl/openssl TLS/SSL and crypto library. Con..