칠리설탕의 it
프로그래머스 - 모음사전(완전탐색 / C언어) 본문
문제)
위와 같은 문제는 주어진 단어가 사전에서 몇 번째 단어인지 확인하는 문제입니다.
핵심은 자리별 가중치를 이해하는 것입니다.
알파벳 '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. 가중치를 갱신하면서 계산 |
'자료구조' 카테고리의 다른 글
프로그래머스 - 피로도(완전탐색 / C언어) (0) | 2025.02.28 |
---|---|
프로그래머스 - 카펫(완전탐색 / C++) (0) | 2025.02.25 |
프로그래머스 - 소수찾기(완전탐색 / C++) (0) | 2025.02.22 |
프로그래머스 - 모의고사(완전탐색 / C++) (0) | 2025.02.19 |
프로그래머스 - 최소직사각형(완전탐색 / C언어) (0) | 2025.02.16 |