티스토리 뷰

반응형

 

오늘은 코딜리티 사이트에서 제공하는 easy 난이도 문제인 permCheck문제를 swift언어로 풀어보도록 하겠습니다.

코딜리티의 permCheck문제는 Codility Developer Training사이트의 Lesson4, Counting Elements 를 통해서 풀 수 있습니다. 해당 문제는 N 크기의 배열이 주어졌을때 해당 배열에 1 ~ N의 숫자가 한번씩 전부 들어있는지를 확인하여 전부 들어있을경우 1, 그 외에는 0을 반환하는 문제입니다. 자세한 문제설명은 코딜리티 사이트에서 확인하시기 바랍니다.

 

바로 swift언어를 통해 문제 풀어보도록 하겠습니다.

 


코딜리티 Codility easy문제, permCheck swift언어로 풀기

저는 딕셔너리를 사용해서 문제를 풀었습니다. 

5행) 먼저 Int, Bool값을 각각 키, 값으로 갖는 딕셔너리를 선언합니다. Int 키는 배열에 있는 요소 값이 들어가며, 1 ~ N의 요소가 각각 하나씩 정상적으로 들어가 있는지를 확인합니다. 

6행) 최댓값, 중복되지 않은 값의 갯수를 카운팅할 변수, mxValue, count를 선언합니다.

7 ~ 15행) 딕셔너리에 배열의 각 요소 값을 키로 넣어서 중복여부를 확인합니다. 만약 중복값이 존재하면 0을 리턴합니다. 

16행) 앞서 순회 간 중복값이 없었고, 순회횟수가 최댓값과 동일하면, 1 ~ N의 값이 모두 하나씩 존재하고, 중복값이 없는 것이므로, 1을 반환합니다.

 

제출결과는 아래와 같습니다. (정확성, 효율성 100%) 기타 의견, 질문 댓글 달아주세요. 그럼 이만

 

 

 


Lesson4, Counting Elements, permCheck 문제 제출결과

 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함