[๋ฐฑ์ค€ / Swift] 23971 - ZOAC 4

๋ฐ•์ค€ํ˜ - Niroยท2024๋…„ 3์›” 18์ผ
1

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
14/16
post-thumbnail

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ


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

โœ… ํ’€์ด


์ฃผ์–ด์ง„ H(ํ–‰), W(์—ด), N(์„ธ๋กœ), M(๊ฐ€๋กœ) ์„ ํ†ตํ•ด ์ตœ๋Œ€ ๋ช‡ ๋ช… ์ˆ˜์šฉ๊ฐ€๋Šฅํ•œ์ง€ ํ‘ธ๋Š” ๋ฌธ์ œ๋‹ค!

์ฒ˜์Œ์—๋Š”.. '์ฃผ์–ด์ง„ H์™€ W๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ํ’€๊นŒ?' ํ–ˆ์ง€๋งŒ ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ธ๊ฑฐ ๊ฐ™์•„ ๊ณ ๋ฏผ์„ ํ•ด๋ณด๋‹ˆ

ํ•œ ํ–‰๊ณผ ํ•œ ์—ด์— ๋“ค์–ด๊ฐ€๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋งŒ ์•Œ๊ณ  ๊ณฑํ•˜๋ฉด ๋‚˜์˜ค๊ฒ ๋‹ค!

์‹ถ์–ด ๊ณ„์‚ฐ์„ ํ•ด๋ณด์•˜๋‹ค!

๊ธฐ์ค€ ๊ทธ๋Œ€๋กœ H์™€ W๊ฐ€ 5,4 ์ผ ๋•Œ N๊ณผ M์„ ์กฐ์ ˆํ•ด๋ณด๋ฉด

5์นธ์— 1๋ช… ๊ฐ„๊ฒฉ์ผ ๋•Œ (3๋ช…)
O X O X O
5/(1+1) = 2.5 (์˜ฌ๋ฆผ)-> 3


5์นธ์— 2๋ช… ๊ฐ„๊ฒฉ์ผ ๋•Œ (2๋ช…)
O X X O X
5/(2+1) = 1.66 (์˜ฌ๋ฆผ)-> 2


5์นธ์— 3๋ช… ๊ฐ„๊ฒฉ์ผ ๋•Œ (2๋ช…)
O X X X O
5/(3+1) = 1.25 (์˜ฌ๋ฆผ)-> 2


5์นธ์— 4๋ช… ๊ฐ„๊ฒฉ์ผ ๋•Œ (1๋ช…)
O X X X X
5/(4+1) = 1 (์˜ฌ๋ฆผ)-> 1 (1.0 ์„ ์˜ฌ๋ฆผํ•ด๋„ 1)

์ฆ‰, ํ…Œ์ด๋ธ”์˜ ๊ฐœ์ˆ˜ / (๊ฐ„๊ฒฉ+1) ์„ ์˜ฌ๋ฆผ ํ•˜๋ฉด ๋œ๋‹ค

โŒจ๏ธ ํ’€์ด

import Foundation

let input = readLine()!.split(separator: " ").map{Double($0)!}

let row = ceil(input[0] / (input[2]+1))
let col = ceil(input[1] / (input[3]+1))

print(Int(row * col))

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ๊ฑด ceil ๋ฉ”์„œ๋“œ์ด๋‹ค.

ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋Š” Foundation ์„ import ํ•ด์ฃผ์–ด์•ผ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ 

์†Œ์ˆ˜๋ฅผ ์˜ฌ๋ ค ์ •์ˆ˜์— +1 ์„ ํ•ด์ฃผ์ง€๋งŒ ์†Œ์ˆ˜๋ถ€๋ถ„์ด 0 ์ผ๋•Œ๋Š” ์˜ฌ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค!

์ฐธ๊ณ ๋กœ ๋ฐ˜์˜ฌ๋ฆผ์€ round(), ๋‚ด๋ฆผ์€ floor() ์ด๋‹ค!

๋‹ค์Œ๊ณผ ๊ฐ™์ด Float, Double ์„ ํŒŒ๋ผ๋ฏธํ„ฐ ์œ ํ˜•์œผ๋กœ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ๋ฐ›์€ Int ๋ฅผ Double ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์‚ฌ์šฉํ–ˆ๋‹ค!

๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ• ๋•Œ๋Š” ์ •์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ Int ๋กœ ๋ฐ˜ํ™˜!

์ด๋ฒˆ์—๋„ ๋Š๊ผˆ์ง€๋งŒ.. ์ œ๋ฐœ.. ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์ ์ง€ ๋ง์ž!
๋ถ„๋ช….. ์–ด๋–ค ๊ณต์‹์ด ์žˆ์„๊บผ์•ผ...

profile
๐Ÿ“ฑiOS Developer, ๐ŸŽย Apple Developer Academy @ POSTECH 1st, ๐Ÿ’ป DO SOPT 33th iOS Part

0๊ฐœ์˜ ๋Œ“๊ธ€