[C++] 백준 17626 Four Squares
·
C++/백준 C++
문제라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 12으로 표현할 수도 있다. 역사적으로 암산의 명수들에게 공통적으로 주어지는 문제가 바로 자연수를 넷 혹은 그 이하의 제곱수 합으로 나타내라는 것이었다. 1900년대 초반에 한 암산가가 15663 = 1252 + 62 + 12 + 12라는 해를 구하는데 8초가 걸렸다는 보고가 있다. 좀 더 어려운 문제에 대해서는 56초가 걸렸다: 11339 = 1052 + 152 + 82 + 52.자연수 n이 주어질 때, n을 최소 개수의 제곱수 합으로 표현하는 컴퓨터 프로그램을 작성하시오.입력입력은 표준입력..
[C++] 백준 9461 파도반 수열
·
C++/백준 C++
문제오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100)출력각 테스트 케이스마다 P(N)을 출력한다.예제 입력 12612예제 출력 1316 문제 파악1, ..
[C++] 백준 9375 패션왕 신해빈
·
C++/백준 C++
문제해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까?입력첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다.각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 n(0 ≤ n ≤ 30)이 주어진다.다음 n개에는 해빈이가 가진 의상의 이름과 의상의 종류가 공백으로 구분되어 주어진다. 같은 종류의 의상은 하나만 입을 수 있다.모든 문자열은 1이상 20이하의 알파벳 소문자로 이루어져있으며 같은 이름을 가진 의상은 존재하지 않..
[C++] 백준 11723 집합
·
C++/백준 C++
문제비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꾼다.empty: S를 공집합으로 바꾼다.입력첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다.둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하..
[C++] Flatbuffer 사용법
·
C++
단계별로 따지면 총 5단계이다.소스 파일 및 flatc.exe 다운로드파일들 경로 세팅*.fbs(IDL) 정의*.fbs 컴파일컴파일한 *.h include소스 파일 및 flatc.exe 다운로드https://github.com/google/flatbuffers/releases Releases · google/flatbuffersFlatBuffers: Memory Efficient Serialization Library - google/flatbuffersgithub.com해당 사이트에서 가장 최신의것을 다운받으면 된다.자신의 환경에 맞게 다운받으면 된다.윈도우를 사용중이라면 Windows.flatc.binary.zip을 다운받고Source code (zip) 도 다운받으면 된다. 파일들 경로 세팅bina..
[C++] Inline함수와 #Define 차이점
·
C++
해당 글은 아래의 공식문서를 요약한 글입니다.틀린 부분이 있으면 알려주세요!https://learn.microsoft.com/ko-kr/cpp/cpp/inline-functions-cpp?view=msvc-170 인라인 함수(C++)C++ 인라인 키워드는 컴파일러에 인라인 함수 처리를 제안하는 데 사용될 수 있습니다.learn.microsoft.com Inline 함수란?컴파일러가 해당 함수에 대한 각 호출 대신 함수 정의 내의 코드를 대체하도록 제안합니다.이론적으로 인라인 함수를 사용하면 함수 호출과 연관된 오버헤드가 제거되어 프로그램 속도가 더 빨라질 수 있습니다. 인라인 함수의 단점은 프로그램의 전체 크기가 증가할 수 있다는 것입니다.인라인 코드 대체는 컴파일러의 재량에 따라 수행됩니다. 예를 들어..
[C++] IOCP OverlappedEx 구조체에 관하여
·
C++
iocp서버 공부를 하던 중 클라가 접속했을 때 정상적으로 큐에 반응은 오나구조체 OverlappedEx라는 멤버변수의 값이 변경되는 버그가 발생했고 왜 발생하였는가와 어떻게 해결했는가를 공유하려합니다. OverlappedEx 구조체enum CompletionType{ NONE, RECV, SEND, CONNECT, DISCONNECT,};struct OverlappedEx{ LPOVERLAPPED overlapped = {}; CompletionType type = NONE; char _buf[BUF_SIZE] = {};};OverlappedEx의 구조체입니다.멤버 변수로는 overlapped와 type, buf가 있습니다. 문제점unsigned __stdcall IOCP::AcceptThread(vo..
[C++] find_if 로 특정 클래스 가져오기
·
C++
다른 글들은 답답하게 상수값 넣고 int 배열의 인덱스값만 가져오는 쉬운 예시만 보여줘서 직접 글을 올립니다. class Location {private: int _allowMethod; bool _isAutoindex; string _cgiPath; string _uriPath; string _idxPath; string _rootPath; string _redirectPath; string _autoindexPath;public: Location(); Location(const Location &loc); Location(const LocationData &data); Location &operator=(const Location &loc); ~Location(); void ..
원피스는 실존하다
'C++' 카테고리의 글 목록