TIL (Today I Learned)

99클럽 코테 스터디 16일차 TIL + 오늘의 학습 키워드

남 희 2024. 8. 6. 22:33

☑️ 문제: 모음 사전

https://school.programmers.co.kr/learn/courses/30/lessons/84512

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

오늘 문제의 키워드: ?

더보기
더보기

저번에도 못 풀었는데, 오늘 시간 안에 풀기 힘들어서 풀지 못했다.
그래서 다른 사람들 풀이를 보았는데 좀 더 공부해 봐야 할 것 같다.

검색해서 가장 많이 나오는 풀이 방법은
입력받은 문자의 각 자릿수에 해당하는 숫자와 A, E, I, O, U 모음 순서를 이용해,
마치 N진법처럼 식으로 답을 구해 반환하는 방식이 가장 많았다.
(아래 코드는 그렇게 작성해서 제출해 본 코드, 이렇게 푸는 게 가장 풀이가 간단해 보였다.)

class Solution {
    public int solution(String word) {
        char[] ch = {'A', 'E', 'I', 'O', 'U'};
        int[] digit = {781, 156, 31, 6, 1};
        int answer = word.length();

        for (int i = 0; i < word.length(); i++) {
            for (int j = 0; j < 5; j++) {
                if (word.charAt(i) == ch[j]) {
                    answer += digit[i] * j;
                    break;
                }
            }
        }

        return answer;
    }
}


그리고 dfs를 사용해서 푸는 풀이 방식이 있었다.

왜 완전탐색이 오늘의 키워드인지 이해가 되지 않았는데 이 방식으로 풀 수 있어서 그런걸까.

좀 더 고민해보고 완전탐색 방식의 풀이법도 제출해보자....