상세 컨텐츠

본문 제목

2022 KAKAO BLIND RECRUITMENT: 신고 결과 받기 (Swift)

Swift알고리즘

by 앱등개발자IOS 2022. 6. 18. 17:13

본문

본격적으로 Swift로만! 알고리즘 테스트에 임하기 위해 (python 빠이빠이...) 이전에 python으로는 해결해 본 적 있는 문제들을 Swift로 풀이하며 포스팅해보려고 한다.

 

카카오에서는 확실히 다양한 자료형을 사용하도록 유도하는데, 딕셔너리 선언과 사용이 아직은 익숙하지 않았다.

그래도 로직이라는 것은 똑같으니 크게 어렵지는 않게 구현할 수 있었다.

 

두가지 자료형만 만들어낸다면, 그 뒤로는 어렵지 않다.

 

- dict라는 딕셔너리에는, key에 모든 Id를 담아, 자신을 신고한 사람들의 id를 모두 담는다 ( 중복 제거를위해 Set자료형으로 )

- id_sequence에는 우리가 "muzi"라는 id가 id_list에서 몇 번째 index에 위치해있는지 바로 알고싶을 때 사용할 수 있도록, id를 key로, index번호(Int)를 value로 담았다.

 

이후, dict의 모든 key에 대하여, value인 Set의 크기가 K 이상인 경우에, 그 Set에 담겨있는 Id들에 대하여 메일을 받도록 ( result배열에서 1씩 추가!) 처리해주면 끝

 

Swift언어 Point!

 

Swift의 딕셔너리는 Key가 없다면 nil을 뱉어준다..

즉, Key가 있어도 Optional 타입으로 뱉어주기 때문에, 항상 코테에서는 !로 unWrapping을 해서 사용하자!!

관련글 더보기