programming/c++

[C++] STL

STL 표준 템플릿 라이브러리(Standard Template Library) - 임의 타입의 객체를 보관할 수 있는 컨테이너 (container) - 컨테이너에 보관된 원소에 접근할 수 있는 반복자 (iterator) - 반복자들을 가지고 일련의 작업을 수행하는 알고리즘 (algorithm) 컨테이너는 객체가 어떤 특성을 갖는지 무관하게 라이브러리를 자유롭게 사용할 수 있다. 컨테이너는 크게 두가지 종류가 존재한다. 배열처럼 객체들을 순차적으로 보관하는 시퀀스 컨테이너와 키를 바탕으로 대응되는 값을 찾아주는 연관 컨테이너가 있다. 시퀀스 컨테이너의 경우 vector, list, deque 3가지가 정의되어 있다

programming/c++ 2023.01.09

[programmers] 폰켓몬

문제설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 ..

programming/c++ 2023.01.09

[programmers] 완주하지 못한 선수

문제설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. - 입출력 예시 ["leo", "kiki", "eden"] ["eden", "kiki"] "leo..

programming/c++ 2023.01.08

[C++] 객체지향

추상화 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것 객체 현실세계에 존재하는 것들을 나타내기 위해서는 추상화 과정이 필요 변수와 함수로 이루어져 있다. 객체의 변수나 함수를 인스턴스 변수, 인스턴스 메소드라고 부른다. 객체의 인스턴스 변수의 값은 외부에서 바꾸지 못하고, 객체의 인스턴스 함수를 통해서만 변경이 가능하다. Animal animal; animal.full+=100; //불가능 animal.increate_food(100); //가능 캡슐화 외부에서 직접 인스턴스 변수의 값을 바꿀 수 없고 인스턴스 메소드를 통해서 간접적으로 조절할 수 있다. 객체가 내부적으로 어떻게 작동하는지 몰라도 사용할 수 있다. 클래스 객체의 설계도 클래스를 통해서 객체를 생성하고,..

programming/c++ 2023.01.08

[C++] 문법구조

변수 변수명 이름 작성 규칙은 C언어와 동일하다. 포인터의 경우에도 C와 동일하다. * for, while, if-else, switch 구문도 C와 동일하게 사용된다. 입력 사용자로부터 입력을 받아서 >> 를 통해 user_input에 넣는다. cin도 cout과 마찬가지로 std에 정의되어 있기 때문에 std::cin과 같이 사용한다. std::cin >> user_input; scanf와 다르게 & 연산자를 붙일 필요가 없으며, 변수를 보고 cin이 알아서 처리해준다. 참조자 C++에서는 다른 변수나 상수를 가리키는 방법으로 또 다른 방식을 제공하는데, 이를 바로 참조자 라고 부른다. #include int main(){ int a=3; int& another_a=a; another_a=5; st..

programming/c++ 2023.01.07

[C++] VsCode

1. vscode 설치 2. extension 설치 C/C++ C/C++ Extension Pack CodeLLDB 3. 환경 구성 기본 cpp 파일 제작 후, command+shift+p > 기본 빌드 작업 구성 > C/C++:clang++ 활성 파일 빌드 task.json 파일이 생성된다. { "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: clang++ 활성 파일 빌드", "command": "/usr/bin/clang++", "args": [ "-fcolor-diagnostics", "-fansi-escape-codes", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNo..

programming/c++ 2023.01.07