sieunnnn / Coding-Test

코딩테스트 문제풀이 모음집 입니다.
1 stars 0 forks source link

[프로그래머스/알고리즘 고득점 Kit] BruteForce #47

Open sieunnnn opened 9 months ago

sieunnnn commented 9 months ago

프로그래머스 알고리즘 고득점 Kit BruteForce 문제풀이 입니다.

sieunnnn commented 8 months ago

모음 사전

사전은 'A', 'E', 'I', 'O', 'U'를 사용하여 만들 수 있는 모든 가능한 단어들로 구성되어 있으며, 길이는 1부터 5까지입니다. 사전에서 각 단어의 위치를 찾는 방법을 이해하기 위해, 우선 단어의 길이가 어떻게 위치에 영향을 미치는지 살펴보겠습니다. 단어의 길이 자체가 사전 에서의 위치에 기본적인 가치를 부여합니다. 예를 들어, 길이가 1인 모든 단어는 사전의 첫 부분에 위치하고, 길이가 2인 단어는 그 다음에 위치합니다. 따라서 단어 'A'는 첫 번째, 'AA'는 그 이후에 위치합니다. 이 기본 가치 때문에 answer 변수는 word의 길이로 초기화 됩니다.

단어의 각 자리에 있는 문자는 그 위치에 따라 다른 가치를 갖습니다. 이 가치는 해당 자리에서 가능한 모든 조합의 수를 기반으로 합니다. 예를 들어, 첫 번째 자리는 5가지 가능한 문자(A, E, I, O, U) 각각에 대해 781(5^4)가지의 조합이 가능합니다. 마찬가지로 두 번째 자리는 각 문자에 대해 156(5^3)가지 조합이 가능합니다.

각 문자의 위치 값은 그 문자가 사전에서 몇 번째 문자인지에 따라 결정됩니다 (A=0, E=1, I=2, O=3, U=4). 이 위치 값에 그 자리의 가치를 곱하고, 모든 자리에 대해 이 값을 더하여 최종 위치를 계산합니다.

예를 들어, 단어 "AAAE"의 경우:

첫 번째 'A'는 0 781 = 0 두 번째 'A'는 0 156 = 0 세 번째 'A'는 0 31 = 0 네 번째 'E'는 1 6 = 6

이 값들을 모두 더하면 0 + 0 + 0 + 6 = 6이 되고, 여기에 단어의 길이 4를 더하면 최종 위치는 10이 됩니다.