{ }codelper

C++ 배우기

C++로 프로그래밍 기초를 배워요. 단원마다 실행해 볼 수 있는 예제와 다른 언어와의 차이를 함께 봐요.

A

기초

4단원
  1. 01화면에 출력하기프로그램의 첫 줄: 글자와 계산 결과를 화면에 찍어요.
  2. 02변수와 값값에 이름을 붙여 두고 다시 쓰거나 바꿔요.
  3. 03입력 받기키보드(표준 입력)에서 문자열과 수를 읽어요.
  4. 04계산과 나눗셈더하기·빼기·곱하기는 같지만, 나눗셈은 언어마다 달라요.
B

흐름 제어

4단원
  1. 05조건문조건에 따라 다른 일을 해요: if · else if · else, 그리고 switch.
  2. 06반복문같은 일을 여러 번: for와 while.
  3. 07반복문 더 보기하나씩 꺼내기, 거꾸로 돌기, 끝 표시까지 읽기, 적어도 한 번 도는 do-while.
  4. 08참·거짓 값과 삼항 연산자참·거짓을 변수에 담아 두기, 두 값 중 하나 고르기, "이 중 하나인가" 묻기.
C

데이터

5단원
  1. 09문자열문자열의 길이, 대문자, 뒤집기, 한 글자 꺼내기.
  2. 10리스트와 배열여러 값을 한 줄로: 개수, 처음과 끝, 합, 모두 바꾸기.
  3. 11문자 하나 다루기글자 하나를 값으로: 코드, 글자 계산, i번째 글자, 되풀이.
  4. 12문자열 만들어 가기조각을 붙여 문자열 만들기, 사이에 넣어 잇기, 한 줄에 이어 찍기.
  5. 13목록 고치기있는지 묻기, 빼기, 뒤집기, 자리 바꾸기, 같은 값으로 채우기, 복사.
D

함수

2단원
  1. 14함수일을 이름 붙여 묶고, 값을 받아 결과를 돌려줘요. 재귀까지.
  2. 15함수 더 알아보기변수 범위, 여러 값 돌려주기, 함수를 값으로 넘기기.
E

더 나아가기

10단원
  1. 16사전(맵)열쇠로 값을 찾고 고치기: 단어 세기, 있나 확인, 열쇠 순서로 돌기.
  2. 17정렬작은 것부터, 큰 것부터, 내가 정한 기준으로 늘어놓기.
  3. 182차원 목록(격자)줄과 칸으로 된 격자: 읽기, 줄 합·칸 합, 이웃 칸을 범위 안에서만 보기.
  4. 19문자열 다루기자르기, 찾기, 바꾸기, 앞뒤 공백 다듬기, 비교, 자리 맞추기.
  5. 20정수와 실수0.1 + 0.2가 0.3이 아닌 이유, 소수 자리 맞추기, 반올림 규칙, 정수 넘침까지.
  6. 21재귀함수가 자기 자신을 불러요. 바닥 조건, 호출 스택의 깊이, 반복문과 메모까지.
  7. 22흔한 실수와 오류 메시지오류 메시지 읽는 법과, 어느 언어에서나 나오는 실수들: 한 칸 차이, = 과 ==, 정수 나눗셈, null, 범위 밖 번호.
  8. 23절댓값·거듭제곱·제곱근부호 떼기, 여러 번 곱하기, 제곱해서 그 수가 되는 값 찾기.
  9. 24세기, 누적 계산, 묶기한 번 훑으면서 조건에 맞는 것을 세고, 지금까지의 값을 들고 다니고, 열쇠별로 묶어요.
  10. 25자료 목록과 열거형묶음 자료를 목록에 모으고, 정해진 몇 가지 값에는 이름을 붙여요.
F

알고리즘

8단원
  1. 26그대로 따라 하기와 모두 해 보기이야기가 시키는 대로 한 걸음씩 따라 하고, 후보를 하나도 빼놓지 않고 넣어 봐요.
  2. 27스택과 큐나중에 넣은 것부터 꺼내는 스택, 먼저 넣은 것부터 꺼내는 큐.
  3. 28이분 탐색정렬된 범위를 반씩 버리면서 값이나 조건을 처음 만족하는 자리를 찾아요.
  4. 29누적 합과 두 포인터구간의 합을 뺄셈 한 번으로 구하고, 두 자리를 앞으로만 옮기며 구간을 찾아요.
  5. 30최대공약수, 소수, 진법나머지로 최대공약수를 구하고, 체로 소수를 걸러 내고, 수를 다른 진법으로 써요.
  6. 31욕심쟁이와 우선순위 큐그때그때 가장 좋아 보이는 것을 고르고, 가장 작은 값을 바로 내주는 큐를 써요.
  7. 32그래프와 깊이 우선 탐색누가 누구와 이어져 있는지 적어 두고, 닿는 곳을 빠짐없이 찾아가기.
  8. 33너비 우선 탐색과 위상 정렬큐로 가까운 곳부터 넓혀 가장 적은 걸음 수를 구하고, 먼저 할 일이 앞에 오게 줄을 세워요.
G

언어마다 다른 것

5단원
  1. 34포인터C++ · C값이 있는 자리(주소)를 들고 다니며 부른 쪽 변수를 바꿔요.
  2. 35동적 메모리C++ · C실행 중에 정한 크기만큼 메모리를 빌리고, 다 쓰면 꼭 돌려줘요.
  3. 36구조체C# · C++ · C관련된 값을 한 덩어리로 묶고, 그 덩어리가 복사되는지 공유되는지 알아 둬요.
  4. 37클래스와 객체Python · JavaScript · TypeScript · Java · C# · C++데이터(필드)와 동작(메서드)을 한 틀에 묶고, 그 틀로 객체를 여러 개 만들어요.
  5. 42C++ 참조와 STLC++& 참조와 const 참조, vector·map·set·unordered_map, 람다를 받는 알고리즘, 그리고 복사·무효화·자동 삽입 함정.