알고리즘

코딜리티 Arrays - OddOccurrencesInArray (파이썬)

인공지능 대학생 2022. 4. 26. 09:32

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))
반응형