Bibi's DevLog ๐ค๐
[๋ฐฑ์ค 5691] ํ๊ท ์ค์๊ฐ ๋ฌธ์ (์ฆ๋ช ) ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift
[๋ฐฑ์ค 5691] ํ๊ท ์ค์๊ฐ ๋ฌธ์ (์ฆ๋ช )
๋น๋น bibi 2022. 11. 11. 23:025691๋ฒ: ํ๊ท ์ค์๊ฐ ๋ฌธ์
- ์ธ ์์ ํ๊ท ์ (A+B+C) / 3
- “1≤A≤B≤10์9์น”๋ผ๋ ์กฐ๊ฑด์ด ์ฃผ์ด์ ธ ์๋ค. ← ๋งค์ฐ ์ค์!
- ์ค์๊ฐ : ์์ C๋ฅผ ์ถ๊ฐํด ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ ๋ ์ค๊ฐ ๊ฐ
- A<B<C์ธ ๊ฒฝ์ฐ
- B๊ฐ ์ค์๊ฐ์ด ๋จ
- ํ๊ท = ์ค์๊ฐ์ด๋ฏ๋ก B = (A+B+C) / 3, 3B = A+B+C, C =
2B-A
- A<C<B์ธ ๊ฒฝ์ฐ
- C๊ฐ ์ค์๊ฐ์ด ๋จ
- ํ๊ท = ์ค์๊ฐ์ด๋ฏ๋ก C = (A+B+C) / 3, 2C = A+B, C =
(A+B)/2
- C<A<B์ธ ๊ฒฝ์ฐ
- A๊ฐ ์ค์๊ฐ์ด ๋จ
- ํ๊ท = ์ค์๊ฐ์ด๋ฏ๋ก A = (A+B+C) / 3, 3A = A+B+C, C =
2A-B
- A<B<C์ธ ๊ฒฝ์ฐ
- ์ด๋ A์ B๋ ํญ์ ์์์ด๊ณ B๋ A๋ณด๋ค ํญ์ ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฏ๋ก, C๊ฐ ๋ ์ ์๋
2B-A
,(A+B)/2
,2A-B
์ค์์ ๊ฐ์ฅ ์์ ์ ์๋2A-B
๊ฐ ๋๋ค.- ์?
2B-A
,(A+B)/2
๋ ๋ฌธ์ ์ ์ฃผ์ด์ง ์กฐ๊ฑด์ผ๋ก ์ธํด ์ด๋ค ๊ฒฝ์ฐ์๋ ํญ์ ์์์ด์ง๋ง,2A-B
๋ A์ B๊ฐ์ ๊ฐ๊ฒฉ์ด ํฐ ๊ฒฝ์ฐ ์์๊ฐ ๋์ฌ ์๋ ์๊ธฐ ๋๋ฌธ์.
๊ทธ๋์ ๋ต์ธ C๋2A-B
๋ก ๊ตฌํ๊ฒ ๋๋ค!
- ์?
ํ์ด (Swift)
์ฒ์์ ๊ทธ๋ฅ ์์ ์ฝ๋ ๋ณด๊ณ ๊ฐ์ผ๋ก "A๊ฐ ์ค์๊ฐ์ด ๋ ๋๊ฐ ํ๊ท =์ค์๊ฐ์ด๋ฉด์ C๊ฐ ์ต์์ธ ๊ฒฝ์ฐ์ธ ๊ฒ ๊ฐ๋ค"๋ผ๊ณ ์๊ฐํ๊ณ ํ๊ธด ํ์ง๋ง, ๋ง๊ณ ๋์ ์ ๊ทธ๋ ๊ฒ ๋๋ ๊ฑด์ง ๊ตฌ๊ธ๋งํ๋ฉฐ ๋๋ฆ ์ฆ๋ช ์ ์ ๋ฆฌํด ๋ณด์๋ค.
while let input = readLine() {
if input == "0 0" {
break
}
let inputArr = input.split(separator: " ").map { Int($0)! }
print(inputArr[0] * 2 - inputArr[1])
}
'ํ๋ก๊ทธ๋๋ฐ > ์๊ณ ๋ฆฌ์ฆ ํ์ด Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 6322] ์ง๊ฐ ์ผ๊ฐํ์ ๋ ๋ณ (Swift) (0) | 2022.11.21 |
---|---|
[๋ฐฑ์ค 5704] ํฌ๊ทธ๋จ (0) | 2022.11.14 |
[๋ฐฑ์ค 5613] ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ (0) | 2022.11.10 |
[๋ฐฑ์ค 5032] ํ์ฐ ์๋ฃ (Swift) (0) | 2022.10.26 |
[๋ฐฑ์ค 4880] ๋ค์์ (Swift) (0) | 2022.10.24 |