Arrays - OddOccurrencesInArray
* 프로그래밍 주안점
1. 가독성
2. 성능
문제링크: https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/
설명 (요약)
A 배열 내 짝이 맞지 않는 항목의 짝 index를 출력하라. 예: A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9 결과: 7 (A[5] 만 1개이다. 짝이 발생시 index를 출력) |
고려사항
- 예외처리할 케이스가 있다. 설명하진 않았다
- 예외처리 - A 길이가 한개인 경우
- 마지막항이 짝이 안맞을 경우
코드
def solution(A):
if len(A) == 1:
return A[0]
A.sort()
for i in range(0, len(A)-1, 2):
if A[i] != A[i+1]:
return A[i]
return A[-1]
solution([9,3,9,3,9,7,9]) # return 7
Github: https://github.com/oksk1111/algorithm_python/blob/main/codility_Arrays_OddOccurrencesInArray.ipynb
GitHub - oksk1111/algorithm_python
Contribute to oksk1111/algorithm_python development by creating an account on GitHub.
github.com
결과
Analysis
Detected time complexity: O(N) or O(N*log(N))
반응형
'알고리즘' 카테고리의 다른 글
코딜리티 Time Complexity - TapeEquilibrium (파이썬) (0) | 2022.04.28 |
---|---|
코딜리티 Time Complexity - PermMissingElem (파이썬) (0) | 2022.04.28 |
코딜리티 Time Complexity - FrogJmp (파이썬) (0) | 2022.04.28 |
코딜리티 Arrays - CyclicRotation (파이썬) (0) | 2022.04.26 |
코딜리티 Iterations - BinaryGap (파이썬) (0) | 2022.04.26 |