본문 바로가기
알고리즘/백준

백준 - 17219. 비밀번호 찾기

by 패쓰킴 2022. 3. 26.
728x90

https://www.acmicpc.net/problem/17219

 

17219번: 비밀번호 찾기

첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번

www.acmicpc.net

 

풀이

들어오는 사이트 주소와 비밀번호를 배열로 분리 하게 되면 

원하는 비밀번호 검색 시 속도가 상대적으로 딕셔너리 사용보다 느려지므로

배열 대신 딕셔너리를 사용하여 바로 검색 가능하도록 푼다.

import Foundation

func main() {
    let NM = readLine()!.split(separator: " ").map{Int($0)}
    var sitePW = [String:String]()
    
    for _ in 0 ..< NM[0]! {
        let info = readLine()!.split(separator: " ").map{String($0)}
        sitePW.updateValue(info[1], forKey: info[0])
    }
    
    var siteArr = [String]()
    for _ in 0 ..< NM[1]! {
        siteArr.append(readLine()!)
    }
    
    for i in 0 ..< siteArr.count {
        print(sitePW[siteArr[i]]!)
    }
}

main()
728x90

'알고리즘 > 백준' 카테고리의 다른 글

백준 - 13777.Hunt the rabbit  (0) 2021.08.01
백준 - 2667.단지번호붙이기  (0) 2021.07.18
백준 - 1138.바닥장식  (0) 2021.07.18
백준 - 1003.피보나치 함수  (0) 2021.07.04

댓글