level0_가까운 1 찾기
2024. 10. 30. 22:10ㆍ파이썬_알고리즘(코딩테스트)/level0

내가 제출한 코드
def solution(arr, idx):
for i in range(idx,len(arr)):
if arr[i] == 1:
return i
return -1
- idx인덱스부터 시작해서 arr배열의 끝까지 반복한다.
- if절
- 각 요소 arr[i]를 확인하면서, 값이 1인 첫 번째 요소를 찾으면 해당 인덱스 i를 반환한다.
- 만약 idx 이후에 값이 1인 요소를 찾지 못한다면 -1을 반환한다.
다른사람이 제출한 코드
def solution(arr, idx):
answer = 0
try:
answer = arr.index(1, idx)
except:
answer = -1
return answer
- arr.index(1, idx)
- arr배열에서 값 1을 idx 인덱스부터 찾는다.
- index() 메소드는 값을 찾으면 해당 인덱스를 반환한다.
- 만약 idx 이후에 값 1이 나오지 않는다면, index() 메소드는 ValueError 예외를 발생시킨다.
- 이 경우 except 블록으로 이동하여 answer에 -1을 할당한다.
.index()란?
- 리스트 매소드 중에서 index()는 리스트 중에서 특정한 원소가 몇 번째에 처음으로 등장했는지를 알려주는데, 인덱스를 알려주기 때문에 index 라는 이름으로 되어 있다. 그런데 만약에 두 번 이상 원소가 중복되어 존재하는 경우에는 맨 처음 등장한 순간의 인덱스를 출력해준다는 점을 기억!!!
'파이썬_알고리즘(코딩테스트) > level0' 카테고리의 다른 글
| level0_조건에 맞게 수열 변환하기 3 (0) | 2024.11.11 |
|---|---|
| level0_접미사 배열 (1) | 2024.10.30 |
| level0_뒤에서 5등까지 (0) | 2024.10.29 |
| level0_뒤에서 5등 위로 (0) | 2024.10.29 |
| level0_문자열을 정수로 변환하기 (0) | 2024.10.29 |