enum을 이용한
약수 배수 찾기
이동 최소찾기
과제로, HackerLand 고등학교 학생들은 특정한 움직임을 수행하여 문자열을 수정해야 합니다. 소문자 영어 문자('a' - 'z')로 구성된 문자열 s
가 주어졌을 때, 어떤 인덱스에서도 두 가지 종류의 움직임을 수행할 수 있습니다:
예를 들어, 문자 'f'를 'g'로 증가시키거나 'f'를 'e'로 감소시킬 수 있습니다.
문자열은 모든 문자가 최소한 1개의 인접한 동일한 문자를 가지도록 수정되어야 합니다. 문자열의 첫 번째와 마지막 문자는 각각 하나의 인접한 문자를 가지므로 두 끝에 있는 두 문자는 서로 일치해야 합니다. 예를 들어, "aaabb"와 "aaccdd"는 좋은 문자열이지만, "abaaa"와 "abcdef"는 그렇지 않습니다.
문자열을 좋은 형태로 수정하는 데 필요한 최소 움직임 수를 계산하십시오.
s
= "aca"
'c'를 두 번 감소시켜 'aaa'로 만듭니다. 최소 2번의 움직임이 필요합니다.
아래의 편집기에서 getMinMoves
함수를 완성하십시오.
getMinMoves
함수는 다음과 같은 매개변수를 가집니다:
string s
: 문자열int
: 필요한 최소 움직임 수첫 번째이자 유일한 줄에 문자열 arr
이 포함됩니다.
sql코드 복사
STDIN FUNCTION
----- --------
abab → s = "abab"
코드 복사
2
s[0]
을 1만큼 증가시키고, s[3]
을 1만큼 감소시켜 "bbaa"를 만듭니다.
sql코드 복사
STDIN FUNCTION
----- --------
abcdef s = "abcdef"
코드 복사
3
s[0]
을 1만큼 증가시키고, s[3]
을 1만큼 감소시키며, s[4]
를 1만큼 증가시켜 "bbccff"를 만듭니다.
이 내용은 특정 규칙에 따라 문자열을 수정하고, 이를 통해 필요한 최소 움직임 수를 계산하는 문제를 설명하고 있습니다.