https://www.acmicpc.net/problem/10816
풀이과정
해당 문제는 Dictionary을 활용하면 문제를 해결할 수 있다.
let _ = Int(readLine()!)!
var nList: [Int] = readLine()!.split(separator: " ").map { Int($0)! }
let _ = Int(readLine()!)!
var mList: [Int] = readLine()!.split(separator: " ").map { Int($0)! }
var dict: [Int: Int] = [:]
for i in nList {
if dict.keys.contains(i) {
dict[i]! += 1
} else {
dict[i] = 1
}
}
for i in mList {
if dict.keys.contains(i) {
print(dict[i]!, terminator: " ")
} else {
print(0, terminator: " ")
}
}
위 코드와 같이 dictionary를 사용하여 주어진 수에 따른 카운팅을 해준다.
'코테' 카테고리의 다른 글
[백트래킹 + 구현] 백준 실버2 14889번 스타트와 링크(Swift) (0) | 2023.06.09 |
---|---|
[다이나믹 프로그래밍 + 그리디] 백준 실버5 14916번: 거스름돈(Swift) (0) | 2023.05.29 |
[완전 탐색] 백준 실버2 3085번: 사탕 게임(Swift) (0) | 2023.05.26 |
[다이나믹 프로그래밍 + 구현] 백준 실버3 14501번: 퇴사(Swift) (0) | 2023.05.24 |
[DFS] 백준 실버1 11403번: 경로 찾기(Swift) (0) | 2023.05.23 |