์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ios
- ์ฝ๋ฉํ ์คํธ
- BFS
- ๋ถํ ํ์
- ๋ถํ ์ ๋ณต
- ์ฝํ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- SwiftUI
- ๋์ ํฉ
- dfs
- ์์
- Swift
- ๋ฐฑํธ๋ํน
- ๋ฐฑ์ค
- ์ด์งํ์
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- WebView
- ์คํ
- dp
- ๋ถํ ์ ๋ณต
- WebApp
- Queue
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฌธ์์ด
- ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 4375๋ฒ: 1 ๋ณธ๋ฌธ
4375๋ฒ: 1
2์ 5๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์ ์ n(1 ≤ n ≤ 10000)๊ฐ ์ฃผ์ด์ก์ ๋, 1๋ก๋ง ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
www.acmicpc.net
์ฑ๊ณต ํ์ด
while let n = readLine(), let num = Int(n) {
var x = 1, count = 1
while x % num != 0 {
x = (x*10+1) % num
print(x)
count += 1
}
print(count)
}
ํ์ด ํค์๋
์ฃผ์ด์ง ์ ์ n์ ๋ฐฐ์๊ฐ 1๋ก๋ง ์ด๋ฃจ์ด์ง(1, 11, 11, 111...)์ซ์๊ฐ ๋์ฌ ๋, ํด๋น ์ซ์์ ์๋ฆฟ์๋ฅผ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ๊ฐ: n = 7 x = 1 count = 1 while x % n์ด 0์ผ ๋๊น์ง ๋ฐ๋ณต { x = (x*10+1) % 7 count += 1 while๋ฌธ์ด ๋ฐ๋ณตํ ๋ x์ ํ ๋น๋๋ ๊ฐ 11 % 7 = 4 41 % 7 = 6 61 % 7 = 5 51 % 7 = 2 21 % 7 = 0 111111์ผ ๋ 1๋ก๋ง ์ด๋ฃจ์ด์ง 7์ ์ต์ ๋ฐฐ์๊ฐ ๋จ }
๋ง์ฝ ํด๋น ํ์ด๋ฅผ ๋ชจ๋๋ฌ์ฐ์ฐ์ผ๋ก ํ์ง ์๋๋ค๋ฉด x์ ๊ฐ์ Int์ ๋ฒ์๋ฅผ ์๋ํ ๋๊ธฐ ๋๋ฌธ์ ์ ํํ๊ธฐ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ๋ชจ๋๋ฌ ์ฐ์ฐ์ด ํ์ํฉ๋๋ค.
์ฐธ๊ณ ํด์ผํ ๋ชจ๋๋ฌ ์ฐ์ฐ์ ๊ณต์์ ๋๋ค.(a + b) mod n = (a mod n + b mod n) mod n (a * b) mod n = (a mod n * b mod n) mod n
ํด๋น ๊ณต์์ ๋์ ํด while๋ฌธ ์์ ์๋ x = (x*10+1) % 7์ ๋ถ์ํ๋ค๋ฉด
1 % 7 == 1 11 % 7 == (1*10+1)%7 == ((1%7)*10+1)%7 111 % 7 == (11*10+1)%7 == ((11%7)*10+1)%7 1111 % 7 == (111*10+1)%7 == ((111%7)*10+1)%7
x๊ฐ ์ด๋ป๊ฒ 1๋ก์ด๋ฃจ์ด์ง ์ซ์๋ฅผ ๋์ฒดํ ์ ์๋์ง ์ดํดํ ์ ์์ต๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 5086๋ฒ: ๋ฐฐ์์ ์ฝ์ (1) | 2023.04.30 |
---|---|
[swift] ๋ฐฑ์ค - 1037๋ฒ: ์ฝ์ (0) | 2023.04.29 |
[swift] ๋ฐฑ์ค - 2903๋ฒ: ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.04.28 |
[swift] ๋ฐฑ์ค - 2720๋ฒ: ์ธํ์ ์ฌ์ฅ ๋ํ (0) | 2023.04.28 |
[swift] ๋ฐฑ์ค - 11005๋ฒ: ์ง๋ฒ ๋ณํ 2 (0) | 2023.04.28 |