가르침 - 백준 1062 (Java)
풀이 일단 a, n, t, i, c 알파벳은 기본적으로 배워야한다. 각 단어에서 앞 "anta"와 뒤 "tica"를 뺀 가운데 부분에서 a, n, t, i, c를 제외한 문자가 있으면 이를 list에 따로 저장한다. 그리고 해당 list에서 알파벳을 하나씩 선택하면서, 현재까지 선택한 알파벳으로(a, n, t, i ,c 포함) 몇 개의 단어를 커버할 수 있는지 매번 체크한다. 총 배울 수 있는만큼 알파벳을 배운 상태면 백트래킹으로 이전 분기로 돌아가 list에 있는 다른 알파벳을 선택하면서 커버할 수 있는 단어의 최대 숫자를 갱신한다. 알파벳을 선택할 때에는 순서가 상관없고, 중복을 허용하지 않기 때문에 조합이다. public class Main { static int words, max, total =..
2022. 6. 8.