in.add()

[84512] 5주차_모음사전 본문

Algorithm/Programmers

[84512] 5주차_모음사전

idan 2021. 9. 15. 22:22

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/84512

 

코딩테스트 연습 - 5주차_모음사전

사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니

programmers.co.kr

문제 해결 방법

규칙을 찾아 구현했다.

 

A - AA - AAA - AAAA - AAAAA - AAAAE - AAAAI - AAAAO - AAAAU

다섯 번째 자리의 모음은 "AEIOU" 순서대로 바뀌는데 한 번이면 된다.

 

AAAE - AAAEA - AAAEE - AAAEI - AAAEO - AAAEU - AAAI

네 번째 자리의 모음은 바뀌는데 6번이 필요하다.

 

.

.

.

 

각 자리가 바뀌는데 {781, 156, 31, 6, 1} 만큼이 필요함을 구할 수 있다.

 

class Solution {
    public int solution(String word) {
        int answer = 0;
        String aeiou = "AEIOU";
        int[] th = {781, 156, 31, 6, 1}; // 각 자리의 모음이 바뀌는데 필요한 횟수
        for(int i = 0; i < word.length(); i++) {
            int n = aeiou.indexOf(word.charAt(i));
            answer += th[i] * n;
        }
        return answer + word.length();
    }
}

'Algorithm > Programmers' 카테고리의 다른 글

[83201] 2주차_상호평가  (0) 2021.10.08
[64062] 징검다리 건너기  (0) 2021.09.27
[42883] 큰 수 만들기  (0) 2021.09.14
[42746] 가장 큰 수  (0) 2021.09.13
[42885] 구명보트  (0) 2021.09.08
Comments