알고리즘/codility
Lesson 4 Counting Elements PermCheck 나만의풀이
친구들안녕
2021. 6. 2. 10:20
문제
A non-empty array A consisting of N integers is given.
A permutation is a sequence containing each element from 1 to N once, and only once.
For example, array A such that:
A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2
is a permutation, but array A such that:
A[0] = 4 A[1] = 1 A[2] = 3
is not a permutation, because value 2 is missing.
The goal is to check whether array A is a permutation.
Write a function:
def solution(A)
that, given an array A, returns 1 if array A is a permutation and 0 if it is not.
For example, given array A such that:
A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2
the function should return 1.
Given array A such that:
A[0] = 4 A[1] = 1 A[2] = 3
the function should return 0.
Write an efficient algorithm for the following assumptions:
N is an integer within the range [1..100,000];each element of array A is an integer within the range [1..1,000,000,000].
대충 해석하자면 N개로 이루어진 비어있지 않은 A가주어지고
A는 순열로 1부터 N까지 오직 1번만 들어가는 수이다.
순열이면 1 아니면 0을 반환하라
첫번째 시도
아무리 문제가 쉽다고 나와있지만 이렇게 쉬운게 말이되나...?
조금 고민하다가 에라 모르겠다 하면서 커밋눌렀다.
def solution(A):
A.sort()
for i in range(1, len(A)+1):
if A[i-1] != i:
return 0
return 1
너무 쉬워서 조금 고민하던 문제다 ㅋㅋ