ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

๋‹ค์†œ์ด๋Š” ์€์ง„์ด์˜ ์˜†์ง‘์— ์ƒˆ๋กœ ์ด์‚ฌ์™”๋‹ค. ๋‹ค์†œ์ด๋Š” ์ž๊ธฐ ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์˜ˆ์œ ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋กœ ๋ฌธ์— ๋ถ™์ด๋ ค๊ณ  ํ•œ๋‹ค.

๋‹ค์†œ์ด์˜ ์˜†์ง‘์—์„œ๋Š” ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋ฅผ ํ•œ ์„ธํŠธ๋กœ ํŒ๋‹ค. ํ•œ ์„ธํŠธ์—๋Š” 0๋ฒˆ๋ถ€ํ„ฐ 9๋ฒˆ๊นŒ์ง€ ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋‹ค. ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (6์€ 9๋ฅผ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , 9๋Š” 6์„ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.)

 

<๋ฌธ์ œ ๋งํฌ>

 

1475๋ฒˆ: ๋ฐฉ ๋ฒˆํ˜ธ

์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.


๋ฌธ์ œ ํ’€์ด

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ˆซ์ž๋ฅผ ์นด์šดํŠธํ•ด์„œ ์ตœ๋Œ€ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ œ์ผ ๋งŽ์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ˆซ์ž์˜ ์นด์šดํŠธ๋งŒํผ ์„ธํŠธ๋ฅผ ๊ตฌ๋งคํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ๋Š” 6๊ณผ 9๋ฅผ ๋’ค์ง‘์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, 9๋ฅผ ์นด์šดํŠธ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” 6์„ ๋Œ€์‹  ์นด์šดํŠธ ํ•ด์ค๋‹ˆ๋‹ค.

 

ํ•œ ์„ธํŠธ์—์„œ 6 ๋˜๋Š” 9๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด 2๊ฐœ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

6์œผ๋กœ ๋Œ€์‹  ์นด์šดํŠธํ•œ ์ˆ˜๋ฅผ ๋งˆ์ง€๋ง‰์— 2๋กœ ๋‚˜๋ˆ ์ค€ ํ›„, ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ๋Š” ์˜ฌ๋ฆผ ์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

(์˜ˆ๋ฅผ ๋“ค์–ด, 6๊ณผ 9์˜ ์นด์šดํŠธ๊ฐ€ 5๋ผ๋ฉด ํ•„์š”ํ•œ ์„ธํŠธ ์ˆ˜๋Š” 2๋กœ ๋‚˜๋ˆ„๊ณ  ์˜ฌ๋ฆผํ•œ 3์ž…๋‹ˆ๋‹ค.)

์ฝ”๋“œ ์ˆœ์„œ

1. 0๋ถ€ํ„ฐ 8๊นŒ์ง€ ์นด์šดํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

2. ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด๋กœ ์ˆœํšŒํ•˜๋ฉฐ ๊ฐ ๋ฌธ์ž์˜ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹น ์ธ๋ฑ์Šค์— +1์„ ํ•ด์ค๋‹ˆ๋‹ค.

3. 6๋ฒˆ ์ธ๋ฑ์Šค ๊ฐ’์„ 2๋กœ ๋‚˜๋ˆ„๊ณ  ์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

4. ๋ฐฐ์—ด์˜ ์ตœ๋Œ€ ๊ฐ’์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


ํ’€์ด ์ฝ”๋“œ

< ํ’€์ด - ๋ฐฐ์—ด์„ ์ด์šฉํ•œ ์นด์šดํŠธ >

import Foundation

// 0~8๊นŒ์ง€ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ (9๋Š” 6์— ์ถ”๊ฐ€)
var arr = [Int](repeating: 0, count: 9)

var n = readLine()!

for a in n {
	// ๋ฌธ์žํƒ€์ž…์„ ์ •์ˆ˜ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜
    let i = Int(String(a))!
    // a.wholeNumberValue!
    
    if i == 9 {
        arr[6] += 1
        continue	// ๋ฐ˜๋ณต๋ฌธ์˜ ๋‹ค์Œ ์‹œํ€€์Šค๋กœ ์ด๋™
    }
    
    arr[i] += 1
}

// 2๋กœ ๋‚˜๋ˆ„๊ณ  ์˜ฌ๋ฆผ
arr[6] = Int(ceil(Double(arr[6]) / Double(2)))
// arr[6] = (arr[6] + 1) / 2

print(arr.max()!)

 

๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” 'a'๋Š” character ํƒ€์ž…์ด๋ฏ€๋กœ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด String์ฒ˜๋ฆฌ์™€ Int์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜, wholeNumberValue ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž ํƒ€์ž…์„ ์ •์ˆ˜ ํƒ€์ž…์œผ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<๊ณต์‹ ๋ฌธ์„œ: wholeNumberValue>

 

2๋กœ ๋‚˜๋ˆ„๊ณ  ์˜ฌ๋ฆผ์„ ํ•˜๊ธฐ ์œ„ํ•ด, Int ํƒ€์ž…์„ Double ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ceil ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ceil ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Foundation ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ importํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

Foundation์„ import ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, Foundation์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

๋‚˜๋ˆ„๊ธฐ ์ „์— ๋‚˜๋ˆ„๋Š” ๊ฐ’์˜ -1์„ ํ•œ ๊ฐ’์„ ๋‚˜๋ˆ„๋Š” ๊ฐ’์— ๋”ํ•ด์ฃผ๊ณ  ๊ณ„์‚ฐ์„ ํ•œ๋‹ค๋ฉด ์œ„์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, 8์„ 3์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ๊ฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์€ 3์ž…๋‹ˆ๋‹ค.)

3์„ -1ํ•œ ๊ฐ’์ธ 2๋ฅผ 7์— ๋”ํ•œ ๋’ค ๊ณ„์‚ฐ์„ ํ•˜๋ฉด 10 / 3์ด ๋˜์–ด 3์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

(์†Œ์ˆ˜์ ๊นŒ์ง€ ๊ณ ๋ คํ•˜์—ฌ ๊ณ„์‚ฐ์„ ํ•œ๋‹ค๋ฉด 3.xx๊ฐ€ ๋‚˜์˜ค๊ฒ ์ง€๋งŒ, Int ํƒ€์ž…์€ ์†Œ์ˆ˜์  ์ดํ•˜๋Š” ๋ฒ„๋ฆผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.)