Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

칠리설탕의 it

프로그래머스 - 모음사전(완전탐색 / C언어) 본문

자료구조

프로그래머스 - 모음사전(완전탐색 / C언어)

chillisugar 2025. 3. 5. 19:43

 

문제)

 

 

 

 

위와 같은 문제는 주어진 단어가 사전에서 몇 번째 단어인지 확인하는 문제입니다.

핵심은 자리별 가중치를 이해하는 것입니다. 

알파벳 'A', 'E', 'I', 'O', 'U' 를 통해 단어를 만들기에 만들수 있는 단어의 개수는 5^1 + 5^2 +  5^3 +  5^4 +  5^5  = 3905개 입니다. 만일 첫번째 자리가 'A'로 정해졌다면 만들 수 있는 단어의 개수는 5^1 + 5^2 +  5^3 +  5^4 + 1 = 781입니다. (사전에서 단어순수는 1부터 시작하기에 1을 더해줘야 합니다). 같은 방법으로 첫글자가 고정되어있고 두번째 글자가 'A'면 만들수 있는 단어의 개수는 5^1 + 5^2 +  5^3 + 1 = 156개 입니다. 마찬가지로 세번째 자리가 정해지면 31개, 네번째 자리가 정해지면 6개 마지막 자리는 1개입니다.

 

 

문제 풀이)

1. 알파벳 리스트 생성

2. 주어진 단어 word의 각 문자를 하나씩 확인하여 해당 문자가 list[]배열에서 어떤 알파벳인지 확인

3. 각 문자가 list[] 배열에서 몇번쨰 알파벳인지 찾아 j값으로 저장 후 각 자리에서 건너뛴 단어의 수는 j*mul로 계산하여 해당위치에 더하기

4. 가중치를 갱신하면서 계산