728x90
https://www.acmicpc.net/problem/3052
๋ต์์ฝ๋
var remainders = Set<Int>()
for _ in 1...10 {
if let input = readLine(), let number = Int(input) {
remainders.insert(number % 42)
}
}
print(remainders.count)
- var remainders = Set<Int>():
- ์ ์ํ Set์ ์์ฑํฉ๋๋ค. Set์ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์ปฌ๋ ์ ํ์ ์ ๋๋ค.
- ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ์ค๋ณต๋ ๋๋จธ์ง๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- for _ in 1...10 {:
- 10๋ฒ ๋ฐ๋ณตํ๋ ๋ฃจํ๋ฅผ ์์ํฉ๋๋ค. 10๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ๊ธฐ ์ํจ์ ๋๋ค.
- if let input = readLine(), let number = Int(input) {:
- readLine()์ผ๋ก ํ ์ค์ ์ ๋ ฅ๋ฐ์ต๋๋ค.
- Int(input)์ผ๋ก ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ์ ์๋ก ๋ณํํฉ๋๋ค.
- ์ต์ ๋ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ์ด ์ ํจํ ๊ฒฝ์ฐ์๋ง ๋ค์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
- remainders.insert(number % 42):
- ์ ๋ ฅ๋ฐ์ ์ซ์๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ๊ณ์ฐ๋ ๋๋จธ์ง๋ฅผ Set์ ์ฝ์ ํฉ๋๋ค.
- ๋ง์ฝ ์ด๋ฏธ ๊ฐ์ ๋๋จธ์ง๊ฐ Set์ ์๋ค๋ฉด, ์ค๋ณต์ผ๋ก ๊ฐ์ฃผ๋์ด ์ถ๊ฐ๋์ง ์์ต๋๋ค.
- print(remainders.count):
- Set์ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ด๋ ๊ณง ์๋ก ๋ค๋ฅธ ๋๋จธ์ง์ ๊ฐ์๋ฅผ ์๋ฏธํฉ๋๋ค.
์ด ๋ฌธ์ ๋ Set์ ์ฌ์ฉํ์ฌ ์ค๋ณต์ ์๋์ผ๋ก ์ ๊ฑฐํ์์ต๋๋ค. ๊ฐ ์ ๋ ฅ ์ซ์์ ๋๋จธ์ง๋ฅผ Set์ ์ถ๊ฐํจ์ผ๋ก์จ, ์ค๋ณต๋ ๋๋จธ์ง๋ ์๋์ผ๋ก ๋ฌด์๋๊ณ ์ ์ผํ ๋๋จธ์ง๋ง ๋จ๊ฒ ๋ฉ๋๋ค. ์ต์ข ์ ์ผ๋ก Set์ ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅํ์ฌ ์๋ก ๋ค๋ฅธ ๋๋จธ์ง์ ๊ฐ์๋ฅผ ๊ตฌํ์ต๋๋ค
'๐ Daily Loaf > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ฒ5][Swift]๋ฐฑ์ค2563๋ฒ (0) | 2024.10.14 |
---|---|
[๋ธ๋ก ์ฆ1][Swift]๋ฐฑ์ค1546๋ฒ(map/reduce) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10811๋ฒ(reverse) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค5597(๋ฐฐ์ด) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10813 (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค10810(Array) (0) | 2024.10.05 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10951(while/EOF) (1) | 2024.10.04 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10952(while) (0) | 2024.10.04 |