์ง๋๋ฒ๊ณผ ๋์ผํ๊ฒ 746์ ....๐ฅฒ
https://www.codetree.ai/missions/8/problems/hashmap-basic/description
์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ ์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์
๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์.
www.codetree.ai
HashMap ๊ธฐ๋ณธ
๋ฌธ์
n๊ฐ์ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ช ๋ น์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์ธ์. ๋ช ๋ น์ ์ข ๋ฅ๋ ํฌ๊ฒ 3๊ฐ์ง ์ ๋๋ค.
- add k v : (k, v) ์์ hashmap์ ์ถ๊ฐํฉ๋๋ค. key๊ฐ k, value๊ฐ v๋ผ๋ ๋ป์ ๋๋ค. ์ด๋ ๋ง์ฝ ๋์ผํ k๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด, v๋ก ๋ฎ์ด์๋๋ค.
- remove k : key๊ฐ k์ธ ์์ ์ฐพ์ hashmap์์ ์ ๊ฑฐํฉ๋๋ค. ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- find k : key๊ฐ k์ธ ์์ด hashmap์ ์๋์ง๋ฅผ ํ๋จํฉ๋๋ค. ์๋ค๋ฉด ํด๋นํ๋ value๋ฅผ ์ถ๋ ฅํ๊ณ , ์๋ค๋ฉด None์ ์ถ๋ ฅํฉ๋๋ค.
์ ๋ ฅ ํ์
์ฒซ ๋ฒ์งธ ์ค์๋ n์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค ๋ถํฐ๋ n๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ ๋ช ๋ น์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋๋ค. ๊ฐ ๋ช ๋ น์ ์ฃผ์ด์ง๋ key์ value๋ ์ ๋ถ ์ซ์์ ๋๋ค. ๋ช ๋ น๋ค์ ์์๋๋ก ์ํ๋์ด์ผ ํฉ๋๋ค.
- 1 ≤ n ≤ 100,000
- 1 ≤ ์ฃผ์ด์ง๋ ์ซ์ ≤
์ถ๋ ฅ ํ์
๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํฉ๋๋ค.
์ ์ถ๋ ฅ ์์
์์ 1
์ ๋ ฅ:
11
add 3 5
add 10000 1
find 3
find 5
find 10000
add 3 10
find 3
add 7 15
remove 3
remove 7
find 7
์ถ๋ ฅ:
5
None
1
10
None
์์ ์ค๋ช
๋ช ๋ น find๊ฐ ์ฃผ์ด์ง๋ ํ์๋ 5๋ฒ์ผ๋ก 3, 4, 5, 7, 11 ๋ฒ์งธ ์ ๋๋ค.
- 3 ๋ฒ์งธ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, key 3์๋ value 5๊ฐ ๋ค์ด์์ต๋๋ค.
- 4 ๋ฒ์งธ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, key 5๋ ์กด์ฌํ์ง ์์ต๋๋ค.
- 5 ๋ฒ์งธ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, key 10000์๋ value 1์ด ๋ค์ด์์ต๋๋ค.
- 7 ๋ฒ์งธ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, key 3์๋ value 10๊ฐ ๋ค์ด์์ต๋๋ค.
- 11 ๋ฒ์งธ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, key 7์ ์กด์ฌํ์ง ์์ต๋๋ค.
์ ํ
์๊ฐ์ ํ: 1000ms
๋ฉ๋ชจ๋ฆฌ ์ ํ: 80MB
ํ์ด
key-value ์์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋์ ๋๋ฆฌ ํ์ ์ ๋ณ์๋ฅผ ์์ฑํ ํ ๊ฐ ๋ช ๋ น์ด์ ๋ง๊ฒ ๋์์ ์ํํ๋ค.
์ฝ๋
let n = Int(readLine()!)!
var dict = [Int: Int]()
for _ in 0..<n {
let input = readLine()!.split(separator: " ").map{String($0)}
switch input[0] {
case "add":
dict[Int(input[1])!] = Int(input[2])!
case "remove":
dict[Int(input[1])!] = nil
case "find":
print(dict[Int(input[1])!] == nil ? "None" : dict[Int(input[1])!]!)
default:
break
}
}
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ณ์์ ํ๋กํผํฐ1 (0) | 2024.03.15 |
---|---|
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 6์ฃผ์ฐจ - ๊ทธ๋ํ ํ์ (0) | 2023.10.16 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 4์ฃผ์ฐจ - ์์ ํ์ (0) | 2023.10.04 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 3์ฃผ์ฐจ - ์์ ํ์ (0) | 2023.09.25 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 1์ฃผ์ฐจ - ํ๋ก๊ทธ๋๋ฐ ์ฐ์ต (0) | 2023.09.14 |