본문 바로가기
코딩테스트

C++로 코테를?

by swthewhite 2023. 10. 10.

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

댓글