ehdrms121   2년 전


아래에 3줄 요약 있습니다.


단어의 시작과 끝

'anta' 'tica'

단어의 길이는 8이상이므로 단어 'antatica' 또한 만들 수 있습니다.

만약 이 단어를 읽는다고 가정한다면 a n t i c 다섯 글자를 배우면 됩니다.

이 외의 단어는 a n t i c 를 제외하고 새로 배워야 할 글자를 알면 됩니다.

따라서 저는 set을 이용하여 문제를 풀이하였습니다.

단어마다 set을 사용하여 a n t i c 를 제외하고 필요한 글자를 구했습니다.

그리고 주어진 모든 단어를 읽기 위해 필요한 글자의 set인 alp를 만들었습니다.

만약 K에서 5를 뺀 값이(antic 제외) alp에 담긴 글자 수보다 같거나 많다면 N개의 단어를 모두 읽을 수 있습니다.

그렇지 않다면, alp에서 K개의 원소를 가지는 조합을 만들어 몇 개의 단어를 읽을 수 있는지 확인하였습니다.

이 과정에서 K(배울 수 있는 글자 수)가 5 이하인 경우는 (정답은 미만) 어떠한 단어도 읽을 수 없다고 고려해주었는데, 정답처리가 되었습니다.

하지만 K=5 일 경우 만들 수 있는 단어가 하나('antatica' ) 존재합니다.

이 코드는 여러 단어가 주어진다면, K=5의 경우 alp는 무조건 1이상이므로 0을 출력하고 종료됩니다.

하지만 그 여러 단어 중 'antatica'가 존재한다면 답은 1이 되어야 합니다.

** 세줄요약 **

(입력)

2 5
antatica
anta*tica

와 같이 들어오는 테스트 케이스가 존재하면 이 코드는 오답이지만 정답처리됩니다.

(답은 1 이지만 0을 출력하는 코드입니다.)

startlink   1년 전

재채점했습니다.

댓글을 작성하려면 로그인해야 합니다.