728x90
📚문제
📝풀이
def solution(arr, idx):
result = 0
for i in range(idx,len(arr)):
if arr[i] ==1:
result += i
return result
return -1 if result ==0 else result
--------------------------------------
def solution(arr, idx):
result = 0
for i in range(idx,len(arr)):
if arr[i] ==1:
result += i
break
return -1 if result ==0 else result
둘다 내가 푼거긴 한데
왜 아래는 정답이 안될까?
이론상으로는 문제가 없어 보이는데 흠
아!!
만약 i가 0일 때 (idx가 0일때) 1이 나온다면
result 에 0이 추가된 다음 break되고
for 문을 빠져나와서
그 다음은 result가 0이므로 -1을 리턴한다
깨달았다...
그러면 위 코드도 똑같은거 아닌가 하고 생각할 수 있지만
위 코드는 i=0을 result에 추가한 뒤에 result(0)값을 리턴하기 때문에
-1을 리턴하는 아래코드와 다르다
+ 좀 더 간단히 생각하는 습관을 가져보자..^^
def solution(arr, idx):
for i in range(idx, len(arr)):
if arr[i] == 1:
return i
return -1
728x90
'Python(알고리즘,문제풀이) > 프로그래머스(코딩기초트레이닝)' 카테고리의 다른 글
코딩기초트레이닝 / 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기(rindex) (0) | 2023.10.27 |
---|---|
코딩기초트레이닝 / 조건에 맞게 수열 변환하기2 - 파이썬 (0) | 2023.10.25 |
코딩기초트레이닝 / 문자 개수 세기 (0) | 2023.10.18 |
코딩기초트레이닝 / 문자열 여러 번 뒤집기 (0) | 2023.10.12 |
코딩기초트레이닝 / 주사위게임 3 (0) | 2023.10.12 |