์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- ๋ธ๋ฃจํธํฌ์ค
- ์์
- ์คํ
- ๋ถํ ํ์
- BFS
- WebView
- ์๊ณ ๋ฆฌ์ฆ
- ๋์ ํฉ
- ์ด์งํ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- SwiftUI
- ๋ฐฑํธ๋ํน
- ๋ฐฑ์ค
- ์ฝํ
- ๋ถํ ์ ๋ณต
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- dp
- ios
- ๋ฌธ์์ด
- ํ๋ก๊ทธ๋๋จธ์ค
- dfs
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ์ ๋ณต
- Queue
- ์ฝ๋ฉํ ์คํธ
- WebApp
- Swift
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 |