Programming/Python
[프로그래머스] 조이스틱
왕밤빵도라에몽
2025. 4. 8. 09:52
728x90
기본 아이디어
- 오른쪽 갔다가 왼쪽으로 돌아가는 경우
- 왼쪽으로 가다가 오른쪽으로 돌아가는 경우
def solution(name):
move = len(name) - 1
cnt = 0
for chr in name:
cnt += min((ord(chr) - ord('A')), 26 - (ord(chr) - ord('A')))
for i in range(len(name)):
next_idx = i + 1
while next_idx < len(name) and name[next_idx] == 'A':
next_idx += 1
distance = min(
move,
i * 2 + (len(name) - next_idx),
i + (len(name) - next_idx) * 2
)
move = min(move, distance)
return cnt + move
- 글자 구현은 엄청 쉬웠고
- 위치 구현이 헷갈렸는데, 단순하게 생각하고 일단 구현하는게 중요한 것 같다 엣지케이스부터 자꾸 떠올리니 밑도끝도 없이 헷갈려했다
728x90