[내배캠/TIL] 250729

김세희·2025년 7월 29일

✍️Today I Learned

📅 2025-07-29

  • 프로그래머스 - 모음사전
  • 팀플 - AI Spawner 만들기
  • TA 강의

프로그래머스 - 모음사전

문제 링크

문제 설명

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

단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.

풀이

완전 탐색 문제이다. 알파벳 위치별 가중치를 더해 계산했다.

#include <string>
#include <vector>
#include <cmath>

using namespace std;

int solution(string word) {
    int answer = 0;
    vector<char> alphabet = {'A', 'E', 'I', 'O', 'U'};
    // 각 알파벳별 단어 총 개수 781
    // 5^0 + 5^1 + 5^2 + 5^3 + 5^4
    for(int i=0; i<word.size(); i++)
    {
        for(int j=0; j<alphabet.size(); j++)
        {
            if(word[i] == alphabet[j])
            {
                int weight=0;
                for(int n=0; n<5-i; n++)
                {
                    weight += pow(5,n);
                }
                answer += weight*j + 1;
                break;
            }
        }
    }
    return answer;
}

💡 느낀 점 (What I Felt)

머티리얼 Translucent로 바꿀때마다 그놈의 나나이트 크래시
프로젝트 설정에서 Nanite 비활성화해야 블렌드모드를 바꿀 수 있다. ㅠㅠ


0개의 댓글