백준 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의 크기가 곧 (중복을 제거하고)만들어진 정수의 개수입니다.
사용한 알고리즘: 구현
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의 크기가 곧 (중복을 제거하고)만들어진 정수의 개수입니다.
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!