반응형
중복되지 않은 하나의 숫자 찾아내기
- 숫자들의 배열이 주어진다.
- 배열은 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개씩 넘어가면서 체크한다. 다음 인덱스의 값과 다른 경우 해당 값을 리턴한다.
반응형
'💻 CS > 알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 괄호의 점수 (0) | 2020.08.01 |
---|---|
[알고리즘 연습] 하노이의 탑 (0) | 2020.08.01 |
[알고리즘 연습] 최대 수익 구하기 (0) | 2020.07.29 |
[알고리즘 연습] 마지막으로 남는 카드 (0) | 2020.07.29 |
[알고리즘 연습] 트리 경로의 합 (0) | 2020.07.27 |