백준 1062번 가르침

< 백준 1062번 가르침 - 마포 코딩박 >

사용한 알고리즘: 완전탐색, DFS


 N개의 단어들과, 선택 가능한 글자수 K가 주어집니다. a~z 중 K개를 선택해 주어진 N개의 단어들 중 최대 몇개의 단어를 읽을 수 있는지 확인하는 문제였습니다.

문제풀이는 다음과 같습니다.
(1) a = 0, b = 1, ... z = 25 로 생각했습니다.

(2) (코드: 41~45)
모든 단어는 "anta" 로 시작, "tica" 로 끝나므로, 기본적으로 a,n,t,i,c는 필요합니다.

(3) (코드: 13~37)
K-5 개의 글자를 추가로 뽑을 수 있습니다. (K<5 이면 단어를 하나도 읽을 수 없습니다.)
기본 5글자를 제외한 모든 글자를 추가로 뽑아보면서, 만약 K-5개를 뽑았을 경우 몇개의 단어를 읽을 수 있는지 확인해줍니다.
이를 DFS 로 돌렸습니다.

풀어보니 불필요한 부분이 많이 보이는.... 부끄러운 코드가 완성됐습니다...
깔끔하지 못한 코드 죄송합니다.



댓글