ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
์ค๋ณต๋ ์ซ์ ๊ฐ์
๋ฌธ์ ์ค๋ช
์ค๋์ ์ ํํ๋ ์ฝ๋ผ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฝ๋ผ ๋ฌธ์ ์ ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ต์ ์๋ฌด์๊ฒ๋ ๋งํ์ง ๋ง์ธ์.
์ฝ๋ผ ๋น ๋ณ 2๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ์ฝ๋ผ 1๋ณ์ ์ฃผ๋ ๋งํธ๊ฐ ์๋ค. ๋น ๋ณ 20๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ๋ช ๋ณ์ ๋ฐ์ ์ ์๋๊ฐ?
๋จ, ๋ณด์ ์ค์ธ ๋น ๋ณ์ด 2๊ฐ ๋ฏธ๋ง์ด๋ฉด, ์ฝ๋ผ๋ฅผ ๋ฐ์ ์ ์๋ค.
๋ฌธ์ ๋ฅผ ํ๋ ์๋น์ด๋ ์ฝ๋ผ ๋ฌธ์ ์ ์๋ฒฝํ ํด๋ต์ ์ฐพ์์ต๋๋ค. ์๋น์ด๊ฐ ํผ ๋ฐฉ๋ฒ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค. ์ฐ์ ์ฝ๋ผ ๋น ๋ณ 20๋ณ์ ๊ฐ์ ธ๊ฐ์ 10๋ณ์ ๋ฐ์ต๋๋ค. ๋ฐ์ 10๋ณ์ ๋ชจ๋ ๋ง์ ๋ค, ๊ฐ์ ธ๊ฐ์ 5๋ณ์ ๋ฐ์ต๋๋ค. 5๋ณ ์ค 4๋ณ์ ๋ชจ๋ ๋ง์ ๋ค ๊ฐ์ ธ๊ฐ์ 2๋ณ์ ๋ฐ๊ณ , ๋ 2๋ณ์ ๋ชจ๋ ๋ง์ ๋ค ๊ฐ์ ธ๊ฐ์ 1๋ณ์ ๋ฐ์ต๋๋ค. ๋ฐ์ 1๋ณ๊ณผ 5๋ณ์ ๋ฐ์์ ๋ ๋จ์ 1๋ณ์ ๋ชจ๋ ๋ง์ ๋ค ๊ฐ์ ธ๊ฐ๋ฉด 1๋ณ์ ๋ ๋ฐ์ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์๋น์ด๋ ์ด 10 + 5 + 2 + 1 + 1 = 19๋ณ์ ์ฝ๋ผ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ด์ฌํ ํ๋ ์๋น์ด๋ ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ๋ฅผ ์๊ฐํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ๋น ๋ณ a๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ์ฝ๋ผ b๋ณ์ ์ฃผ๋ ๋งํธ๊ฐ ์์ ๋, ๋น ๋ณ n๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ๋ช ๋ณ์ ๋ฐ์ ์ ์๋์ง ๊ณ์ฐํ๋ ๋ฌธ์ ์
๋๋ค. ๊ธฐ์กด ์ฝ๋ผ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ณด์ ์ค์ธ ๋น ๋ณ์ด a๊ฐ ๋ฏธ๋ง์ด๋ฉด, ์ถ๊ฐ์ ์ผ๋ก ๋น ๋ณ์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋น์ด๋ ์ด์ฌํ ๊ณ ์ฌํ์ง๋ง, ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ์ ๋ต์ ์ฐพ์ ์ ์์์ต๋๋ค. ์๋น์ด๋ฅผ ๋์, ์ผ๋ฐํ๋ ์ฝ๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ์ฃผ์ธ์.
์ฝ๋ผ๋ฅผ ๋ฐ๊ธฐ ์ํด ๋งํธ์ ์ฃผ์ด์ผ ํ๋ ๋ณ ์ a, ๋น ๋ณ a๊ฐ๋ฅผ ๊ฐ์ ธ๋ค์ฃผ๋ฉด ๋งํธ๊ฐ ์ฃผ๋ ์ฝ๋ผ ๋ณ ์ b, ์๋น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ๋น ๋ณ์ ๊ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์๋น์ด๊ฐ ๋ฐ์ ์ ์๋ ์ฝ๋ผ์ ๋ณ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- 1 ≤ b < a ≤ n ≤ 1,000,000
- ์ ๋ต์ ํญ์ int ๋ฒ์๋ฅผ ๋์ง ์๊ฒ ์ฃผ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
a | b | n | result |
2 | 1 | 20 | 19 |
3 | 1 | 20 | 9 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ณธ๋ฌธ์์ ์ค๋ช ํ ์์์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋น ๋ณ 20๊ฐ ์ค 18๊ฐ๋ฅผ ๋งํธ์ ๊ฐ์ ธ๊ฐ์, 6๋ณ์ ์ฝ๋ผ๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ ์๋น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฝ๋ผ ๋ณ์ ์๋ 8(20 – 18 + 6 = 8) ๊ฐ์ ๋๋ค.
- ๋น ๋ณ 8๊ฐ ์ค 6๊ฐ๋ฅผ ๋งํธ์ ๊ฐ์ ธ๊ฐ์, 2๋ณ์ ์ฝ๋ผ๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ ์๋น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฝ๋ผ ๋ณ์ ์๋ 4(8 – 6 + 2 = 4) ๊ฐ์ ๋๋ค.
- ๋น ๋ณ 4 ๊ฐ์ค 3๊ฐ๋ฅผ ๋งํธ์ ๊ฐ์ ธ๊ฐ์, 1๋ณ์ ์ฝ๋ผ๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ ์๋น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฝ๋ผ ๋ณ์ ์๋ 2(4 – 3 + 1 = 2) ๊ฐ์ ๋๋ค.
- 3๋ฒ์ ๊ตํ ๋์ ์๋น์ด๋ 9(6 + 2 + 1 = 9) ๋ณ์ ์ฝ๋ผ๋ฅผ ๋ฐ์์ต๋๋ค.
์ ์ถ
import Foundation
func solution(_ a:Int, _ b:Int, _ n:Int) -> Int {
var coke = n
var answer = 0
while coke >= a{
answer += (coke/a)*b
coke = (coke/a)*b + coke%a
}
return answer
}
์ฝ๋ผ์ ๊ฐ์๋ฅผ ๋ด์ ๋ณ์ coke์ ๊ฒฐ๊ด๊ฐ์ ๋ด์ ๋ณ์ answer๋ฅผ ์ ์ธํ๋ค.
๋น๋ณ์ ๊ฐ์๊ฐ ๋งํธ์ ์ฃผ์ด์ผ ํ๋ ๋ณ ์ ๋ณด๋ค ๊ฐ๊ฑฐ๋ ํฐ ๊ฒฝ์ฐ์๋ง ๋ฐ๋ณต๋ฌธ์ ์คํํ๋ค.
answer ๋ณ์์ ๋๋ ค๋ฐ์ ์ฝ๋ผ์ ๊ฐ์ = (ํ์ฌ ์ฝ๋ผ ๋ณ์ ๊ฐ์/๋งํธ์ ์ฃผ์ด์ผ ํ๋ ๋ณ ์*๋๋ ค์ฃผ๋ ์ฝ๋ผ์ ๊ฐ์)๋ฅผ ๋ํ๋ค.
ํ์ฌ ๋ณ์ ๊ฐ์ = ๋๋ ค๋ฐ์ ์ฝ๋ผ์ ๊ฐ์ + ๋จ์ ๋น๋ณ์ ๊ฐ์(ํ์ฌ ์ฝ๋ผ๋ณ์ ๊ฐ์% ๋งํธ์ ์ฃผ์ด์ผ ํ๋ ๋ณ ์)๋ฅผ coke ๋ณ์์ ์ ์ฅํ๋ค.
๋ค๋ฅธ ํ์ด
func solution(_ a:Int, _ b:Int, _ n:Int) -> Int {
return (n - b) / (a - b) * b
}
(๋น ๋ณ์ ๊ฐ์ - ๋๋ ค์ฃผ๋ ์ฝ๋ผ์ ๊ฐ์) /(์ฃผ์ด์ผํ๋ ๋ณ์ ๊ฐ์ - ๋๋ ค์ฃผ๋ ์ฝ๋ผ์ ๊ฐ์) * ๋๋ ค์ฃผ๋ ์ฝ๋ผ์ ๊ฐ์
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ (1) | 2023.03.12 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์น์์ด(2) (0) | 2023.03.10 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ผ์ด์ฌ (0) | 2023.03.09 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ซ์ ์ง๊ฟ (0) | 2023.03.08 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (0) | 2023.03.08 |