-
[python] Codility Lesson 4-1. FrogRiverOne공부/알고리즘 2021. 7. 24. 18:43
이번 문제는 A배열의 원소인 leaf위치의 중복을 제거하는 것을 주요 포인트로 코드를 작성하였습니다.
def solution(X, A): # write your code in Python 3.6 leaf_left = set() for i in range(len(A)): leaf_left.add(A[i]) if len(leaf_left) == X: return i return -1
1. leaf set을 생성해주자.
2. for 문을 A list 크기 만큼 돌면서 그 위치를 set의 크기가 X가 될때까지 돌려주자. (아래의 문제 조건에 의해)
- N and X are integers within the range [1..100,000];
- each element of array A is an integer within the range [1..X].
3. set의 크기가 X 가 될때, 그때 i(시간)를 return 해주자
4. for문이 다 돌고도 set의 크기가 X가 되지 않을 때, -1을 return 해주자.
5. 예외상황? 문제 조건을 자세히 보니 딱히 예외 상황이 없다.
무난한 문제였다.
728x90'공부 > 알고리즘' 카테고리의 다른 글
[python] Codility Lesson 4-3. MissingInteger (0) 2021.07.25 [python] Codility Lesson 4-2. MaxCounters (0) 2021.07.25 [python] Codility Lesson 3-3. TapeEquilibrium (0) 2021.07.24 [python] Codility Lesson 3-2. PermMissingElem (0) 2021.07.24 [python] Codility Lesson 3-1. FrogJmp (0) 2021.07.24