백준 5568번 카드 놓기

< 백준 5568번 카드 놓기 - 마포 코딩박 >

사용한 알고리즘: 구현


 N개의 카드 중 K개를 뽑아 만들 수 있는 정수 개수를 구하는 문제였습니다.
 사실 2<= K <= 4 여서 그냥 노가다로 구했습니다.

문제풀이는 다음과 같습니다.

(1) (코드 8~9)
 주어진 N개 카드 중 K 개로 만들 수 있는 정수를 중복을 피하기 위해 set을 만들어 저장했습니다.
 예를들어 1, 2, 12 로 수를 만드는 경우, 1 2 12 = 12 1 2 = 1212 인 중복이 발생합니다.

(2) (코드 11~59)
 K개의 수로 정수를 만드는 함수를 만들어 줍니다.
 K = 2, 3, 4 중 하나이니 이 경우를 직접 손으로 구현했습니다....... (보다 나은 풀이가 많겠죠...)

(3) (코드 60~70)
 N개의 카드 중 K 개를 뽑는 것을 재귀함수로 구현했습니다.
 i 번째 카드를 뽑냐, 뽑지않냐만 구현해주면 됩니다.

(4) (코드 83)
 만들어진 set의 크기가 곧 (중복을 제거하고)만들어진 정수의 개수입니다.



댓글