๋ฐ์ํ
์นํจ ์ฟ ํฐ
๋ฌธ์ ์ค๋ช
ํ๋ก๊ทธ๋๋จธ์ค ์นํจ์ ์นํจ์ ์์ผ๋จน์ผ๋ฉด ํ ๋ง๋ฆฌ๋น ์ฟ ํฐ์ ํ ์ฅ ๋ฐ๊ธํฉ๋๋ค. ์ฟ ํฐ์ ์ด ์ฅ ๋ชจ์ผ๋ฉด ์นํจ์ ํ ๋ง๋ฆฌ ์๋น์ค๋ก ๋ฐ์ ์ ์๊ณ , ์๋น์ค ์นํจ์๋ ์ฟ ํฐ์ด ๋ฐ๊ธ๋ฉ๋๋ค. ์์ผ๋จน์ ์นํจ์ ์ chicken์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ฐ์ ์ ์๋ ์ต๋ ์๋น์ค ์นํจ์ ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- chicken์ ์ ์์ ๋๋ค.
- 0 ≤ chicken ≤ 1,000,000
์ ์ถ๋ ฅ ์
chicken | result |
100 | 11 |
1,081 | 120 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 100๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 100์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 10์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ 10 + 1 = 11 ์ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 1081๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 1081์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 108๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฟ ํฐ์ด 1์ฅ ๋จ์ต๋๋ค.
- 108๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 108์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฟ ํฐ์ด 8์ฅ ๋จ์ต๋๋ค.
- 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 10์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 1์ฅ ๋ฐ๊ธ๋ฉ๋๋ค.
- ๊ฐ์ง๊ณ ์๋ ์ฟ ํฐ์ด ์ด 10์ฅ์ด๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ 108 + 10 + 1 + 1 = 120 ์ returnํฉ๋๋ค.
์ ์ถ
import Foundation
func solution(_ chicken:Int) -> Int {
var chicken = chicken
var answer = 0
while chicken >= 10 {
answer += chicken/10
chicken = chicken%10 + chicken/10
}
return answer
}
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] A๋ก B ๋ง๋ค๊ธฐ (0) | 2023.01.07 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ด์ง์ ๋ํ๊ธฐ (0) | 2023.01.06 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ๋ก๊ทธ์ธ ์ฑ๊ณต? (0) | 2023.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ๋ฑ์ ๋งค๊ธฐ๊ธฐ (0) | 2023.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ํน์ดํ ์ ๋ ฌ (0) | 2023.01.04 |