-
[python] Codility Lesson 3-2. PermMissingElem공부/알고리즘 2021. 7. 24. 02:13
Lesson 2-2의 sort메서드를 사용한게 기억이나 이렇게 풀어 보았는데,
마음에 들지않는다.
실제 코딩 테스트 응시중에 저렇게 많은 예외상황을 일일히 코드로 구현하는건 바람직 하지 않은 것 같다.
예외 하나에 문제가 망가질수도 ㅠㅠ...
1. 그냥저냥 내가 한번 풀어 본 것.
def solution(A): # write your code in Python 3.6 length = len(A) if length == 0: return 1 elif length == 1: if A[0] == 1: return 2 else: return 1 A.sort() if A[0] != 1: return 1 for i in range(length): if A[i] + 1 == A[i+1]: if i == length -2: return A[-1] + 1 continue else: return A[i]+1
1. 전달 받은 list를 sort() 하여 활용하여 보자.
2. for문 안에 A[index] != A[index+1] 이면 return A[index+1]
3. 예외상황을 고려해보면, 항상 list에서 index를 다룰땐, out of index error를 유심히...
2. index out of range를 방지 하고자 조금 변경 해보았다..
def solution(A): # write your code in Python 3.6 length = len(A) if length == 0: return 1 elif length == 1: if A[0] == 1: return 2 else: return 1 A.sort() if A[0] != 1: return 1 for i in range(length): if i + 1 != A[i]: return i + 1 return A[-1] + 1
728x90'공부 > 알고리즘' 카테고리의 다른 글
[python] Codility Lesson 4-1. FrogRiverOne (0) 2021.07.24 [python] Codility Lesson 3-3. TapeEquilibrium (0) 2021.07.24 [python] Codility Lesson 3-1. FrogJmp (0) 2021.07.24 [python] Codility Lesson 2-2. OddOccurrencesInArray (0) 2021.07.23 [python] Codility Lesson 2-1. CyclicRotation (0) 2021.07.23