programmers.co.kr/learn/courses/30/lessons/72415
2021 kakao blind recruitment 문제였다.
부르트포스와 bfs를 사용하여 문제를 해결하였다.
문제풀이:
1. 카드의 짝 만큼 permutation을 돌린다. (next_permutation 사용)
2. 카드의 조합을 순서대로 찾아가며 bfs로 짝을 찾아 카드를 지운다.
3. 최소가 나오는 경우를 찾아야하므로 모든 경우를 다 본다.
만약 (1카드, 2카드, 3카드) 3종류의 카드 세트가 있다면
순열이 (1,2,3) (1,3,2) (2,1,3) (2,3,1) (3,1,2) (3,2,1) 총 6개가 될것이다.
이를 토대로 전역변수로 현재 커서의 위치를 저장하면서 bfs를 돌리면서
두 카드중 가까운카드 -> 먼 카드 순으로 돌면서 총 몇번의 명령어를 입력했는지 확인한다.
코드:
'Algorithm' 카테고리의 다른 글
백준 - 8111번(0과 1) / C++ (4) | 2021.04.05 |
---|---|
백준 - 1285번(동전 뒤집기) / C++ (0) | 2021.03.26 |
백준 - 14442번(벽 부수고 이동하기 2) / C++ (4) | 2021.03.16 |
백준 - 14939번(불 끄기) / C++ (0) | 2021.03.12 |
백준 - 17831번(머기업 승범이네) / C++ (0) | 2021.03.10 |