유형: 그리디? 완전탐색?
풀이 시간: 인터넷 검색
1. 나의 풀이
def solution(name):
answer = 0
a = ord('A')
z = ord('Z')
olist = []
for i in name:
n = min (abs(ord(i) - a), abs(z - ord(i) + 1))
olist.append(n)
answer += n
cnt1 = 0
for i in range(len(olist)-1):
if olist[i+1:].count(0) == len(olist[i+1:]):
break
cnt1 += 1
cnt2 = 0
olist.append(olist.pop(0))
olist.reverse()
for i in range(len(olist)-1):
if olist[i+1:].count(0) == len(olist[i+1:]):
break
cnt2 += 1
print(cnt1, cnt2)
return answer + min(cnt1, cnt2)
이 경우는 두 가지 경우 (그냥 정석대로 쭉 / 반대로 쭉) 밖에 고려하지 못하므로 틀린 풀이가 된다.
'프로그래머스 > Lv. 2' 카테고리의 다른 글
18. 입국심사 ★★ (0) | 2024.07.19 |
---|---|
16. 게임 맵 최단거리 ★ (BFS, zip) (0) | 2024.07.19 |
15. 타겟 넘버 ★(DFS) (0) | 2024.07.18 |
14. 카펫 (완전 탐색) (0) | 2024.07.18 |
13. 소수 찾기 (완전 탐색) (1) | 2024.07.18 |