Python으로 코딩테스트를 시작했던 나, C++로 간다...
결국 돌고 돌아 C++~~
뭐 사실 C++로 코테 본 경험도 좀 있다!!
그리고 근본하면 C++ 아닌감~
언어 전환시 필요한 부분들을 적어보자 (진행중)
- 뭐 세미콜론 조심하는 건 당연하겠지?
0. 입출력 빠르게 하는 마법 쓰기
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
1. 함수에서 *변수를 잘 활용하자
- C++은 슬프게도 Python과 달리 return값을 여러 개로 못한다.
- 그렇다면!!!
- 그냥 가지고 놀 변수를 미리 선언, 그리고 Call by reference로 처리한다.
#include <iostream>
using namespace std;
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int a = 10;
int b = 20;
swap(&a, &b);
cout << "a : " << a << endl;
cout << "b : " << b << endl;
}
- 쉽죠?
2. struct를 많이 써라
- 뭐 vector 계속 쓰면서 메모리 낭비하지 말고
- 그냥 struct를 쓰자
struct step
{
int ry, rx; //빨간공
int by, bx; //파란공
int cnt; //카운트
};
// bfs: Breadth First Search
int bfs(int ry, int rx, int by, int bx)
{
// queue 준비 (struct로)
queue<step> q;
// cnt 준비
int cnt = 0;
// q에 첫번째 넣기
q.push({ry, rx, by, bx, cnt});
// 첫번째 방문처리
visited[ry][rx][by][bx] = true;
/*
대충 뭐시기 저시기~
*/
}
- queue랑 많이 친해보이죠?
3. 뭐 그럼 생각보다 없는 거 아니야?
- 할 때 여기에 적어보자ㅠㅠ
'코딩테스트' 카테고리의 다른 글
17144.cpp - 미세먼지 안녕! (1) | 2023.10.10 |
---|---|
13460.cpp - 구슬 탈출 2 (1) | 2023.10.10 |
댓글