728x90
반응형
문제 설명
1. 전체 단어 N, 가르칠 수 있는 글자 K가 주어진다.
2. 모든 단어는 'anta'로 시작되고, 'tica'로 끝난다.
3. 학생이 배울 수 있는 최대 단어의 개수를 return한다.
풀이 과정
1. 먼저 'a', 'n', 't', 'i', 'c' 다섯 글자는 공통적으로 들어가야 한다.
2. 기준을 글자로 잡고, 글자들에 따라 배울 수 있는 단어들을 return하면 될 것이다.
3. 예를 들어 7글자를 가르치고, 3개의 단어라고 한다면
ex ) - 위의 5글자는 무조건 배우게 된다.
- 따라서 추가로 2글자를 더 배우는 모든 경우를 구하면 될 것이다.
a~z까지 확인하여 배우지 않은 경우 가르친다.
1 - 'a' 'b' 'c' 'd' 'n' 't' 'i'
2 - 'a' 'b' 'c' 'e' 'n' 't' 'i'
3 - 'b'로 진행하는 경우 모두 수행
4 - 'a' 'c' 'e' 'f' 'n' 't' 'i'
5 - 이런 식으로 K(여기서는 5개를 이미 배우니 K-5) 개의 숫자만큼 배우지 않은 단어들을 배우며, 해당 단어가 있으면 check하면 될 것이다.
4. 이렇게 해서 구한 방법 중 가장 큰 값 return한다.
코드
반응형
'알고리즘 공부' 카테고리의 다른 글
[백준 1806번] 부분합 - java (0) | 2021.05.10 |
---|---|
[백준 1700번] 멀티탭 스케줄링 - java (0) | 2021.05.09 |
[프로그래머스] 프린터 - java (0) | 2021.05.02 |
[프로그래머스] 체육복 - java (0) | 2021.05.02 |
[프로그래머스] 모의고사 - java (0) | 2021.05.02 |