728x90
안녕하세요 코코종입니다.
어우... 너무 간만에 돌아왔군요.. ㅋㅋㅋㅋ 진짜로 바빴습니다(암튼 진짜임)
요번 문제는 N의 크기를 가지는 배열을 주고 그것이 permutation 한지 확인하는 것이었는데요
쉽게 말해서 1~N까지의 숫자를 모두 가지고 있는지 판단하는 문제였어요
저는 배열을 돌면서 dictionary에 해당 키의 값을 1로 만들어서 체크했습니다
이후 다시 N번을 돌며 중간에 하나라도 빠져있다면 0(false)를 리턴하도록 구현했습니다.
import Foundation
import Glibc
// you can write to stdout for debugging purposes, e.g.
// print("this is a debug message")
public func solution(_ A : inout [Int]) -> Int {
// 맞으면 1 아니면 0
var dict: [Int: Int] = [:]
for a in A {
dict[a] = 1
}
for n in 1...A.count {
if dict[n] != 1 {
return 0
}
}
return 1
}
완전 쉬운 문제였고 한방에 통과되어서 기분이 좋네요 ㅎㅎ
728x90
'알고리즘' 카테고리의 다른 글
[Swift 알고리즘] Codility lesson4 - MissingInteger (0) | 2022.12.07 |
---|---|
[Swift 알고리즘] Codility lesson4 - MaxCounters (1) | 2022.12.07 |
[Swift 알고리즘] Codility lesson4 - FrogRiverOne (0) | 2022.10.31 |
[Swift 알고리즘] Codility lesson3 - TapeEquilibrium (1) | 2022.10.31 |
[Swift 알고리즘] Codility lesson3 - FrogJmp (1) | 2022.10.30 |