오늘 아침엔 알고리즘 특강을 듣고 처음으로 코딩 테스트를 경험해봤다.
어제 배운 내용을 바탕으로 GitHub에 알고리즘 코드카타 레포지토리를 만들고, 파일도 직접 추가해보았다. 좀 익숙해진 것 같다! 아직 C++ 강의를 듣지 않아서 문제를 풀 땐 페이지에 있는 정답을 참고했지만, 얼른 강의를 마치고 혼자서도 코딩 테스트를 풀 수 있으면 좋겠다.
점심 이후에는 새로운 조에서 같이 노션을 만들고, C++ 문법 강의를 시작했다.
프로그래밍 언어도 언어이기 때문에 흐름을 잘 이해하는 게 중요하다고 느꼈다. 그래서 강의를 들으며 노션에 타이핑해가며 정리했다.
Ctrl + Shift + B → 전체 빌드
Ctrl + F5 → 실행만
Ctrl + F7 → 파일 하나만 컴파일 ✅
F5 → 실행 + 디버깅 ✅
✅ 한 것만 사용했다
1️⃣ 소스 파일
.cpp2️⃣ 헤더 파일
.h
함수, 클래스, 변수 등을 선언만 하는 파일
실제 동작은 .cpp 파일에서 작성한다
헤더 파일 종류
#include <iostream>, #include <string> 처럼 <> 사용.h 파일#include "MyPlayer.h" 처럼 "" 사용3️⃣ 리소스 파일
.uasset, .umap, .txt 등#include <iostream>
using namespace std;
int main()
// 여기서부터 프로그램 시작!
{
cout <<"Hello, World" << endl;
return 0; // 프로그램 종료
}
#include <iostream>int main()int 사용하는 이유main()coutc 는 console (실행 검은 창) 을 의미한다cin<<endlreturn 0;;double이 float보다 더 정밀함
| 구분 | float (단정도) | double (배정도) |
|---|---|---|
| 크기 | 4바이트 (32비트) | 8바이트 (64비트) |
| 정밀도 | 소수점 약 7자리 정도 | 소수점 약 15~16자리 정도 |
| 메모리 사용 | 적음 | 더 큼 |
| 계산 속도 | 더 빠를 수도 있음 | 느릴 수도 있음 |
| 주요 사용 용도 | 실시간 게임 | 과학적 계산, 정밀한 시물레이션 |
후위연산
int a = 5;
int b = a++; // 후위 연산자
1단계 : a의 값을 먼저 b에 대입 → b = 5
2단계 : 그 다음에 a를 1 증가 → a = 6
전위연산
int a = 5;
int b = ++a; // 전위 연산자
1단계 : a를 먼저 1 증가 → a = 6
2단계 : 그 값을 b에 대입 → b = 6
🧩 예시
a = 5;
b = a++; // 후위 증가: b에 a를 먼저 넣고, a를 +1
// b = 5
// a = 6
c = ++a; // 전위 증가: a를 먼저 +1 하고, c에 넣음
// a = 7
// c = 7
| 코드 | a 값 | 설명 |
|---|---|---|
a = 5 | 5 | 초기값 |
b = a++ | 6 | b는 5, a는 6 됨 (후위 증가) |
c = ++a | 7 | a 먼저 증가해서 7, c도 7 (전위 증가) |
선언
int age;
int 타입의 age 변수를 선언한다초기화
age = 25;
age에 초기값 25를 넣음 <- 이게 초기화!!선언과 동시에 초기화
int age = 25;
int라고 선언하면서 25를 처음으로 대입함 (초기화)조건 ? X : Y
조건 true or false
true면 ➡ X 실행
fasle면 ➡ Y 실행
int x = 3;
x = 5; // ⭕ 값 수정 가능
const int y = 3;
y = 5; // ❌ 값 수정 불가
cout << "나이를 입력하세요: ";
cin >> age;
cout << 는 출력 (화살표가 오른쪽)문자열을 화면(cout) 쪽으로 내보낸다 ➡️ 화살표는 오른쪽cin >> 는 입력 (화살표가 왼쪽)cin에서 받은 값을 age에 넣는다 ➡️ 화살표는 왼쪽| 개념 | 방향 | 예시 | 기억법 |
|---|---|---|---|
| 대입 연산 | 오른쪽 ➡ 왼쪽 | a = 5 + 3; | 계산 → 저장 |
| 출력 연산 | 왼쪽 ➡ 오른쪽 | cout << | cout에 출력값을 넘김 |
| 입력 연산 | 오른쪽 ➡ 왼쪽 | cin >> | cin에서 받아서 변수로 넣음 |
true 는 1, false 는 0 으로 출력된다
true, false 는 논리값(참/거짓) 인데 실제로 컴퓨터는 숫자로 저장한다컴퓨터는 이진법으로 숫자를 표현한다
| 값 | 결과 (bool로 해석) |
|---|---|
0 | ❌ false (거짓) |
1 | ✅ true (참) |
-1 | ✅ true (참) |
100 | ✅ true (참) |
0.0f | ❌ false (거짓, 실수형도 0이면 false) |
-5.3 | ✅ true (실수도 0 아니면 true) |
00000000 ➡️ false00000001, 11111111, 00000100, 10000000 등int firstNum = 0;
int secondNum = 0;
C++에서 int 변수는 초기화하지 않으면 랜덤한 값(쓰레기값)이 들어간다.
그 상태에서 계산하면 예측 불가한 결과 나올 수 있기 때문에 미리 안전한 기본값 넣어둔다.
➡️ 사용자가 입력하기 전까지는 0으로 간주한다
0 “아직 입력되지 않음”이나 “기본값”으로 많이 사용한다
나중에 firstNum + secondNum 계산을 하기 전에 값이 없으면 에러가 날 수도 있다.
0으로 초기화하면 계산해도 결과가 안전하게 나온다
