다시 파이썬 레~~쓰고
뭔가 COS Pro 시험 보고 나니 각성한 거 같다
남이 푼 코드를 많이 보라고 하는 건 이런 이유인가
처음 푼 거
헤헤 잘풀었다하고 돌리니 결과랑 다르게 나와서 결과 볼려고 print문 돌렸다
def solution(n, control):
for i in range(len(control)):
if 'w' in control[i]:
n =+ 1
elif 's' in control[i]:
n =-1
elif 'd' in control[i]:
n =+ 10
else:
n =- 10
return n
print문 보니 n에서 왔다갔다 하고 있어서
문제에서 원하는 결과랑 내가 출력한 결과랑 다른 거였음
def solution(n, control):
for i in range(len(control)):
if 'w' in control[i]:
n =+ 1
print(n)
elif 's' in control[i]:
n =-1
print(n)
elif 'd' in control[i]:
n =+ 10
print(n)
else:
n =- 10
print(n)
return n
이래서 이렇게 수정했다
실은 첨에 이렇게 했는데 아닌거 같아서 고쳤다가 다시 돌아옴
이녀석 360도 변했구만..
def solution(n, control):
for i in range(len(control)):
if 'w' in control[i]:
n = n + 1
elif 's' in control[i]:
n = n -1
elif 'd' in control[i]:
n = n + 10
else:
n = n - 10
return n
다른사람의 풀이
이게 내가 한거에서 발전시킬 수 있는 수준이다
내 코드가 돌려돌려 돌림판 마냥 어려운 길로 돌아갔다
def solution(n, control):
for c in control:
if c=='w':n+=1
elif c=='s':n-=1
elif c=='d':n+=10
else:n-=10
return n
이건 대단한 사람
멋진 코드를 짜는 사람이 되고 싶다
def solution(n, control):
key = dict(zip(['w','s','d','a'], [1,-1,10,-10]))
return n + sum([key[c] for c in control])
이 코드도 멋지다
def solution(n, control):
answer = n
c = { 'w':1, 's':-1, 'd':10, 'a':-10}
for i in control:
answer += c[i]
return answer
오늘은 문제 보자마자 이렇게 하면 되겠다 하고
한번 수정하고 바로 답 나온거에 만족함 !
출처 : 프로그래머스
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [Python] 자릿수 더하기 (0) | 2023.10.26 |
---|---|
[프로그래머스] [SQL] 없어진 기록 찾기 (0) | 2023.10.24 |
[프로그래머스] [SQL] 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.10.13 |
[프로그래머스] [SQL] DATETIME에서 DATE로 형 변환 (0) | 2023.10.13 |
[프로그래머스] [SQL] 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.10.12 |