[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/알고리즘 연습

[알고리즘 연습] 중복되지 않는 수 찾기

inu 2020. 8. 1. 15:34
반응형

중복되지 않은 하나의 숫자 찾아내기

  • 숫자들의 배열이 주어진다.
  • 배열은 2n - 1의 크기를 가지며 1부터 n까지의 숫자로 이루어져 있다.
  • 모든 숫자가 2번씩 나타나지만 하나의 숫자만 한번 나타난다.
  • 해당 수를 찾아라.

풀이

def findSolo(nums):
    nums.sort()
    for i in range(0, len(nums), 2):
        if (nums[i] != nums[i + 1]):
            return nums[i]
    return 0
def main():
    print(findSolo([1, 5, 3, 1, 2, 6, 4, 5, 2, 6, 3]))
  • 배열을 정렬후 (NlogN)
  • 반복문으로 2개씩 넘어가면서 체크한다. 다음 인덱스의 값과 다른 경우 해당 값을 리턴한다.
반응형