๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์น˜ํ‚จ ์ฟ ํฐ

by hyebin (Helia) 2023. 1. 6.
๋ฐ˜์‘ํ˜•

์น˜ํ‚จ ์ฟ ํฐ

๋ฌธ์ œ ์„ค๋ช…

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์น˜ํ‚จ์€ ์น˜ํ‚จ์„ ์‹œ์ผœ๋จน์œผ๋ฉด ํ•œ ๋งˆ๋ฆฌ๋‹น ์ฟ ํฐ์„ ํ•œ ์žฅ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํฐ์„ ์—ด ์žฅ ๋ชจ์œผ๋ฉด ์น˜ํ‚จ์„ ํ•œ ๋งˆ๋ฆฌ ์„œ๋น„์Šค๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ์„œ๋น„์Šค ์น˜ํ‚จ์—๋„ ์ฟ ํฐ์ด ๋ฐœ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์‹œ์ผœ๋จน์€ ์น˜ํ‚จ์˜ ์ˆ˜ 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
}

 

๋ฐ˜์‘ํ˜•