코딩 테스트 준비
조이스틱 – level 2
개발쉐발
2023. 1. 1. 13:05
728x90
반응형
def solution(name):
# 조이스틱 조작 횟수
answer = 0
# 기본 최소 좌우이동 횟수는 길이 - 1
min_move = len(name) - 1
for i, char in enumerate(name):
# 해당 알파벳 변경 최솟값 추가
answer += min(ord(char) - ord('A'), ord('Z') - ord(char) + 1)
# 해당 알파벳 다음부터 연속된 A 문자열 찾기
next = i + 1
while next < len(name) and name[next] == 'A':
next += 1
# 기존, 연속된 A의 왼쪽시작 방식, 연속된 A의 오른쪽시작 방식 비교 및 갱신
min_move = min([min_move, 2 *i + len(name) - next, i + 2 * (len(name) -next)])
# 알파벳 변경(상하이동) 횟수에 좌우이동 횟수 추가
answer += min_move
return answer
[프로그래머스, 파이썬] 조이스틱, Greedy
[프로그래머스, 파이썬] 코딩테스트 고득점 Kit - Greedy, level 2 조이스틱
velog.io
728x90
반응형