Bibi's DevLog ๐ค๐
[๋ฐฑ์ค 6322] ์ง๊ฐ ์ผ๊ฐํ์ ๋ ๋ณ (Swift) ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift
[๋ฐฑ์ค 6322] ์ง๊ฐ ์ผ๊ฐํ์ ๋ ๋ณ (Swift)
๋น๋น bibi 2022. 11. 21. 18:116322๋ฒ: ์ง๊ฐ ์ผ๊ฐํ์ ๋ ๋ณ
- a์ ๊ณฑ + b์ ๊ณฑ = c์ ๊ณฑ ์ ๋ง์กฑํ๋ ์์ a, b, c ๊ตฌํ๊ธฐ
- abc ์ค 2๊ฐ๋ ์์ฐ์๋ก ์ฃผ์ด์ง
- ๋ฏธ์ง์๊ฐ a๋ผ๋ฉด
- a = ์ ๊ณฑ๊ทผ(c์ ๊ณฑ - b์ ๊ณฑ)
- ๋ฏธ์ง์๊ฐ b๋ผ๋ฉด
- b = ์ ๊ณฑ๊ทผ(c์ ๊ณฑ - a์ ๊ณฑ)
- ๋ฏธ์ง์๊ฐ c๋ผ๋ฉด
- c = ์ ๊ณฑ๊ทผ(a์ ๊ณฑ + b์ ๊ณฑ)
- ์ ๊ณฑ๊ทผ ์์ ์๊ฐ 0๋ณด๋ค “์๊ฑฐ๋”(์์), 0์ผ ๋ ์ง๊ฐ์ผ๊ฐํ์ ๋ง๋ค ์ ์๋ค.
- ์์ ์กฐ๊ฑด ๋ฟ ์๋๋ผ 0์ด ๋๋ ์กฐ๊ฑด๋ ๋ฐ์ ธ์ผ ํจ์ ์ ์
- Swift์
sqrt()
ํจ์๋ ํ๋ผ๋ฏธํฐ๊ฐ ์์์ผ ๋ nan์ ๋ฐํํ๋ค.- nan์
type(of:)
๋ก ํ๋ณํ์ ๋ Double์ด์ง๋ง, == ๋ก ํ๋ณํ ์ ์๋ค. - ๊ทธ๋์ ์ผ๋จ
sqrt()
๋ด๋ถ์ ๋ฃ์ ์๊ฐ 0๋ณด๋ค ํฐ์ง ํ๋ณํด์ ํ์๋ค. - ๊ณต์๋ฌธ์๋ฅผ ์ฐพ์๋ณด๋
Double.nan
๊ณผ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , == ๋์isNan
์ผ๋ก ํ๋ณํ๋ผ๊ณ ํ๋ค! - https://developer.apple.com/documentation/swift/floatingpoint/nan
- nan์
- ์ถ๋ ฅ ํ์์์ ๋น ์ค ์ถ๋ ฅ์ ์ ์
ํ์ด
import Foundation
var count = 0
while true {
let input = readLine()!
if input == "0 0 0" {
break
}
if count > 0 {
print("")
}
let inputArr = input.split(separator: " ").map { Int($0)! }
let a = inputArr[0]
let b = inputArr[1]
let c = inputArr[2]
if a < 0 {
let answer = Double(c*c - b*b)
print("Triangle #\(count + 1)")
if answer <= 0 {
print("Impossible.")
} else {
print("a = \(String(format: "%.3f", sqrt(answer)))")
}
}
if b < 0 {
let answer = Double(c*c - a*a)
print("Triangle #\(count + 1)")
if answer <= 0 {
print("Impossible.")
} else {
print("b = \(String(format: "%.3f", sqrt(answer)))")
}
}
if c < 0 {
let answer = Double(a*a + b*b)
print("Triangle #\(count + 1)")
if answer <= 0 {
print("Impossible.")
} else {
print("c = \(String(format: "%.3f", sqrt(answer)))")
}
}
count += 1
}
'ํ๋ก๊ทธ๋๋ฐ > ์๊ณ ๋ฆฌ์ฆ ํ์ด Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 6359] ๋ง์ทจํ ์๋ฒ (Swift) (0) | 2022.11.23 |
---|---|
[๋ฐฑ์ค 5988] ํ์์ผ๊น ์ง์์ผ๊น (Swift) (0) | 2022.11.21 |
[๋ฐฑ์ค 5704] ํฌ๊ทธ๋จ (0) | 2022.11.14 |
[๋ฐฑ์ค 5691] ํ๊ท ์ค์๊ฐ ๋ฌธ์ (์ฆ๋ช ) (0) | 2022.11.11 |
[๋ฐฑ์ค 5613] ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ (0) | 2022.11.10 |