Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Baekjoon

[๋ฐฑ์ค€] (Swift) 1737๋ฒˆ - 2์ง„์ˆ˜ 8์ง„์ˆ˜

๊ฐ์ž ๐Ÿฅ” 2022. 2. 20. 15:52
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ๋งํฌ

https://www.acmicpc.net/problem/1373

 

1373๋ฒˆ: 2์ง„์ˆ˜ 8์ง„์ˆ˜

์ฒซ์งธ ์ค„์— 2์ง„์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ˆ˜์˜ ๊ธธ์ด๋Š” 1,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

 

 

๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด

์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค. ๊ณ ๋ฏผ์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์ด ์ƒ๋‹นํžˆ ๋งŽ์€ ๋ฌธ์ œ์ธ ๊ฒƒ๊ฐ™๋‹ค. ๋‚˜์ค‘์— ์ด๋Ÿฐ ์ง„๋ฒ•๋ฌธ์ œ๋Š” ๊ทธ๋ƒฅ ํ’€ ์ˆ˜ ์žˆ๋„๋ก 2์ง„๋ฒ•๊ณผ 10์ง„๋ฒ• ๊ณ„์‚ฐ๋ฒ• ๋ง๊ณ  3์ง„๋ฒ•, 8์ง„๋ฒ•, 16์ง„๋ฒ• ๋“ฑ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง„๋ฒ•๋ณ€ํ™˜์„ ์–ด๋–ค ๊ทœ์น™์œผ๋กœ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ์•„๋‘๋Š”๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. (8์ง„๋ฒ• ์–ด์ผ€ ๊ตฌํ•˜๋Š”์ง€ ๋ชฐ๋ผ์„œ ์ฐพ์•„๋ณธ 1์ธ.... ํ•˜... ๋ฌด์‹๊ทธ์ž์ฒด๋‹ค ใ… ใ…  )

  • ์ง„๋ฒ• ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ธฐ๋ณธ์ ์œผ๋กœ ์•Œ์•„์•ผํ• ๋“ฏ
  • 3์ž๋ฆฌ์”ฉ ๋Š์–ด์„œ 2^0, 2^1, 2^2 ์—ฐ์‚ฐ์œผ๋กœ 2์ง„๋ฒ• ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๊ตฌํ•ด์ค€ ๋’ค, ๊ฐ์ž๋ฆฌ์— ๋„ฃ์–ด์ฃผ๋Š”๊ฑฐ์ž„
    • 110/111 ์ด๋ฉด
    • 10์˜์ž๋ฆฌ๋Š” 6 / ์ผ์˜์ž๋ฆฌ๋Š” 7์ด ๋˜๋Š” ๊ฒƒ์ž„.
  • ์„ธ์ž๋ฆฌ์”ฉ ๋Š์–ด์•ผํ•ด์„œ 1,2์ž๋ฆฌ๋กœ ๋‚จ๋Š”๊ฒƒ์€ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด์•ผํ•จ.
    • 1/110/111 ์ด๋ฉด
    • 001/110/111 ๋กœ ๋งŒ๋“ค์–ด์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž 0์„ ๋„ฃ์–ด์คŒ.
  • ์ถœ๋ ฅ๊ด€๋ จ ๋Ÿฐํƒ€์ž„์—๋Ÿฌ
    • ์ž๋ฆฟ์ˆ˜๋ฅผ ํ•ฉ์ณ์„œ 6+7 ํ•ด์„œ 67 ์ด ๋˜์–ด์•ผํ•˜๋‹ˆ๊นŒ, answer๋ผ๋Š” ๋นˆ string์—๋‹ค๊ฐ€ + ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ answer๋ฅผ ์ถœ๋ ฅํ•จ.
    • ๋ณ€์ˆ˜๋ฅผ ๋˜ ํ• ๋‹นํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋–ณ๋Š”์ง€ ๋Ÿฐํƒ€์ž„์—๋Ÿฌ.
    • print๋ฅผ ํ•œ์ค„๋กœ ์ถœ๋ ฅํ•˜๋Š” terminator๋ฅผ ์ด์šฉํ•˜๋‹ˆ๊นŒ ๋งž์•˜์Œ. — ์ž˜์•Œ์•„๋‘์ž.
var input = Array(readLine()!)

if input.count%3 == 1 {
    input.insert("0", at: 0)
    input.insert("0", at: 0)
} else if input.count%3 == 2 {
    input.insert("0", at: 0)
}

for i in stride(from: 0, to: input.count-1, by: 3) {
    let num = Int(String(input[i]))!*4 + Int(String(input[i+1]))!*2 + Int(String(input[i+2]))!*1
    print(num, terminator: "")
}
๋ฐ˜์‘ํ˜•