[BOJ16508] 전공책
Updated:
문제
- 민호가 만들고 싶은 단어 제시
- 여러 전공책이 있는데, 그 전공책의 알파벳을 이용해 단어를 만들기
- 전공책은 가격이 있어서 가장 저렴한 조합으로 책 선택
입력
- 민호가 만들고자 하는 문자열 T
- 전공책 개수 n
- n개의 줄에 책 가격, 책 제목 문자열
출력
- 민호가 원하는 단어 T를 만들기 위해서 선택해야 하는 전공책의 가장 적은 가격의 합을 출력한다. 만약 단어를 만들 수 없다면 -1을 출력한다.
설계
- 조합을 이용하여 책 선택
- 책은 선택, 미선택 두 가지 방식으로 접근
- 따라서 책이 담긴 배열 처음부터 끝까지 돌면서 각 상황에서 그 책 선택, 미선택에 따라 조합 생성
- 선택한 책에서 나온 알파벳은 알파벳 배열에 추가
- 마지막으로 알파벳 배열에서 각 알파벳 수와 만들고자하는 단어의 알파벳 수 비교해서 타당성 확인
피드백
- 각 상황에서 선택할지 안 할지에 대한 로직을 짜는 것이 중요
- 조합에 조금 더 익숙해질 필요가 있음
How I solved(click to github)
ref :
BOJ16508
Leave a comment