๋ฌธ์ ํ์ด
์์์ ์์ ์ ์ n์ ๋ํด, n์ด ์ด๋ค ์์ ์ ์ x์ ์ ๊ณฑ์ธ์ง ์๋์ง ํ๋จํ๋ ค ํฉ๋๋ค.
n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด๋ผ๋ฉด x+1์ ์ ๊ณฑ์ ๋ฆฌํดํ๊ณ , n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด ์๋๋ผ๋ฉด -1์ ๋ฆฌํดํ๋ ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์กฐ๊ฑด
- n์ 1์ด์, 50000000000000 ์ดํ์ธ ์์ ์ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | return |
121 | 144 |
3 | -1 |
๋ด ๋ฌธ์ ํ์ด
import Foundation
func solution(_ n:Int64) -> Int64 {
let x = Int64(sqrt(Double(n)))
return x * x == n ? (x + 1) * (x + 1) : -1
}
- sqrt ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ ๋ ฅ๋ฐ์ ์์ ์ ๊ณฑ๊ทผ์ ๊ตฌํ์์
- ๊ตฌํ ์ ๊ณฑ๊ทผ์ ๋ค์ ๊ณฑํ์ ๋ n์ด ์ถ๋ ฅ๋๋์ง ๊ฒ์ฌํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ์์
๐ก ํผ๋๋ฐฑ
- sqrt ํจ์์ ๋ํด์ ๋ฐฐ์ธ ์ ์์๋ค.
sqrt ํจ์์ ๋ํด ์ ๋๋ก ๊ณต๋ถํ์ฌ ์ ๋ฆฌ ๊ฒ์๊ธ์ ์์ฑํด๋ด์ผ๊ฒ ๋ค. - ๋ฐ๋ก ์ง์ ๊ฒ์๊ธ์ธ ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ ๋ฌธ์ ์ ์ด์ด์ ๋ Int64๊ฐ ๋ฑ์ฅํ๋ค.
๋นจ๋ฆฌ ๊ณต๋ถ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค,,
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ง์์ ํ์ Programmers(Lv.1) (0) | 2021.06.07 |
---|---|
[Swift Algorithm] ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ Programmers(Lv.1) (0) | 2021.06.07 |
[Swift Algorithm] ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ Programmers(Lv.1) (0) | 2021.06.07 |
[Swift Algorithm] ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ Programmers(Lv.1) (0) | 2021.06.06 |
[Swift Algorithm] ํ๋ ฌ์ ๋ง์ Programmers(Lv.1) (0) | 2021.06.06 |
๋๊ธ