2022. 10. 31. 14:06ใAlgorithm
๋ฐฑ์ค - ๋ณ๋ ๋์ดํธ(Swift)
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/1783
๋์ ํ์ด
๋ฌธ์ ์์ n๊ณผ m์ ๋ฒ์๊ฐ 2์ต๊น์ง์ธ ๊ฒ์ ๋ณด๊ณ , ์ด๋๋ฐฉ๋ฒ์ด 4๊ฐ์ง ์ด์์ธ ๊ฒฝ์ฐ๋ ํ๋ฒ ์ด์์ฉ ์ฌ์ฉํด์ผํ๋ค๋ ๊ฒ์ ๋ณด๊ณ ์กฐ๊ฑด๋ณ๋ก ํ์ด์ผ ํ๋ค๋ ๊ฒ์ ์ง๊ฐํ๋ค.
์ฆ 4๊ฐ์ง ์ดํ์ ๊ฒฝ์ฐ์ 4๊ฐ์ง ์ด์์ ๊ฒฝ์ฐ๋ฅผ ๋ฐ์ ธ๋ด์ผํ๋ค.
์ผ๋จ N์ด 1์ผ๋(ํ์ด 1)๋ ์๋ ์๋๋ก ๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ์ฒ์์์น์ธ 1์นธ์ด ์ต๋๊ฐ์ด๋ค.
N์ด 2์ผ๋๋ ์๋กํ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ๋์นธ๊ณผ ์๋๋กํ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ๋์นธ๋ฐ์ ํ ์์๋ค. ๊ทธ๋ ๊ธฐ์ 4๊ฐ์ง ์ด์์ธ ๊ฒฝ์ฐ๋ ํ ๋ฒ ์ด์์ฉ ์ฌ์ฉํด์ผํ๋ค๋ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ต๋๋ก ๋ง์ด ์น ํ ๊ฐ์๋ 3๋ฒ์ด๋ํ ๊ฒฐ๊ณผ์ธ 4์นธ์ผ ์ ๋ฐ์ ์๋ค. (m+1)/2๊ฐ ๋์จ ์ด์ ๋ ์ค๋ฅธ์ชฝ์ผ๋ก ๋์นธ์ฉ ์ด๋ํ ์๋ฐ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
N์ด 3์ด์์ผ๋๋ M์ด 6๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์๊ฒฝ์ฐ์ ํฐ ๊ฒฝ์ฐ๋ฅผ ๋๋ ์ ๋ฐ์ ธ๋ด์ผํ๋ค.
๋จผ์ M์ด 7์ผ๋ ๋ฑ 4๊ฐ์ง์ด๋๊ฒฝ๋ก๋ฅผ ๋ง์กฑ์ํจ ์ํ๊ฐ ๋๋ค. (์ด ์ค๋ฅธ์ชฝ์ผ๋ก 6๋ฒ๊ฐ๊ธฐ๋๋ฌธ). ๊ทธ๋ฆฌ๊ณ ์ ๋ถ ์ฌ์ฉํ์ผ๋ ๊ฐ์ฅ ๋ง์ ๊ณณ์ ๋ค๋ฆฌ๊ธฐ ์ํด์๋ ์๋ก๋์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์นธ๊ณผ ์๋๋ก๋์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์นธ์ ๋ฐ๋ณตํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ณ์ +1์ฉํ๋ฉด๋๋ค. ๊ทธ๋์ M-2๊ฐ ๋๋๋ฐ ์ฌ๊ธฐ์ -2๊ฐ ๋๋ ์ด์ ๋ 4๊ฐ์ง ์ด๋๊ฒฝ๋ก๋ฅผ ๊ฒฝ์ฐ์์์ ๋ฃ์๋ ์๋กํ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ๋์นธ, ์๋๋กํ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ๋์นธ ๋๋ฌธ์ ์ด ๋ ๊ฐ์ง ๊ฒฝ์ฐ์์ ๊ฐ๊ฐ ํ์นธ์ฉ ๋นผ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ M์ด 6๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์๊ฒฝ์ฐ์๋ 4๊ฐ์ง ์ด๋๊ฒฝ๋ก๋ฅผ ๋ค ๋ง์กฑ์ํค๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ 3๊ฐ์ง ์ด๋๊ฒฝ๋ก๋ฅผ ๋ง์กฑ์ํจ ์ํ์ธ 4๊ฐ์ ์ฒด์คํ์ ๋๋ฌํ ๊ฒ ์ต๋๊ฐ์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ m๊ณผ ํจ๊ป ์ต์๊ฐ์ ๊ตฌํ๋ฉด ๋๋๋ฐ m์์ฒด๋ฅผ ๋ฃ์ ์ด์ ๋ ์๋ก ๋์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์นธ, ์๋๋ก๋์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์นธ์ด ์ต๋๊ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
import Foundation
let input = readLine()!.components(separatedBy:" ").map{Int($0)!}
let n = input[0], m = input[1]
if n == 1 {
print("1")
} else if n == 2 {
print(min(4, (m+1)/2))
} else {
if m > 6 {
print(m-2)
} else {
print(min(4, m))
}
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - ๋นต์ง(Swift) (0) | 2022.11.01 |
---|---|
๊ฒ์์ ๋ง๋ ๋์ค์ด (0) | 2022.10.31 |
๋ฐฑ์ค - ๋ฉํฐํญ ์ค์ผ์ค๋ง(Swift) (0) | 2022.10.31 |
๋ฐฑ์ค - ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ(Swift) (0) | 2022.10.28 |
๋ฐฑ์ค - ์ธํ์ ์ฌ์ฅ ๋ํ(Swift) (0) | 2022.10.28 |