์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ์์
- SwiftUI
- ์คํ
- WebView
- ์ฝํ
- Queue
- ๋นํธ์ฐ์ฐ์
- Swift
- ios
- WebApp
- dfs
- ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ด์งํ์
- ๋ถํ ํ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ฐฑ์ค
- ๋ฌธ์์ด
- BFS
- ํ๋ก๊ทธ๋๋จธ์ค
- dp
- ๋ถํ ์ ๋ณต
- ์ฝ๋ฉํ ์คํธ
- ๋์ ํฉ
- ๋ฐฑํธ๋ํน
- ๋ถํ ์ ๋ณต
Archives
- Today
- Total
MUKER_DEV with iOS
[Swift] Programmers_Lv1 ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ ๋ณธ๋ฌธ
๐ค ์๊ณ ๋ฆฌ์ฆ/programmers
[Swift] Programmers_Lv1 ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ
MUKER 2022. 6. 22. 13:23์ ๋ฌธ์ ํ์ด๋ ์ต์ ์ ํ์ด๊ฐ ์๋ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ ๋ค์ํฉ๋๋ค!
๋ฌธ์ ์ค๋ช
์์์ ์์ ์ ์ n์ ๋ํด, n์ด ์ด๋ค ์์ ์ ์ x์ ์ ๊ณฑ์ธ์ง ์๋์ง ํ๋จํ๋ ค ํฉ๋๋ค.
n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด๋ผ๋ฉด x+1์ ์ ๊ณฑ์ ๋ฆฌํดํ๊ณ , n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด ์๋๋ผ๋ฉด -1์ ๋ฆฌํดํ๋ ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์กฐ๊ฑด
- n์ 1์ด์, 50000000000000 ์ดํ์ธ ์์ ์ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | return |
121 | 144 |
3 | -1 |
๋ฌธ์ ๋ถ์
1. ์ ๊ณฑ๊ทผ์ ํ๋ณํ๊ธฐ ์ํด sqrt() ํจ์๋ฅผ ์ฌ์ฉ.
2. ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Foundation์ import ํด์ผ ํจ.
3. ์์ ์ ์๋ฅผ ๊ฐ์ง๋ ๊ฐ์ด๋ผ๋ฉด + 1์ ํ์ฌ ์ ๊ณฑํ๊ณ , ์์์ ์ ๊ฐ์ง๋ ๊ฐ์ด ๋์จ๋ค๋ฉด -1์ ๋ฆฌํดํจ.
Solution.swift
import Foundation
func solution(_ n:Int64) -> Int64 {
// ๊ฒฐ๊ณผ๊ฐ์ ๋ด์ ๋ณ์ ์ ์ธ
var result: Int64 = 0
// sqrt()๋ฅผ ์ฌ์ฉํด n์ ์ ๊ณฑ๊ทผ์ ๊ตฌํจ
let number = sqrt(Double(n))
// Doubleํ์ number์ ์์ซ์ ๊ฐ์ด ์๋ค๋ฉด
// Int64๋ก number๋ฅผ ๊ฐ์์๋ ์์ซ์ ๊ฐ์ด ๋ค ๋จ์ด์ ธ ๋๊ฐ๊ฒ ๋จ
// ๊ฐ ๋น๊ต๋ฅผ ์ํด ๋ค์ Doubleํ์ผ๋ก ์ ์ธํจ
if number == Double(Int64(number)) {
result = Int64((number + 1) * (number + 1))
} else {
result = -1
}
return result
}
ํ๋ก๊ทธ๋๋จธ์ค ์ธ๊ธฐ ํ์ด
import Foundation
func solution(_ n:Int64) -> Int64 {
let t = Int64(sqrt(Double(n)))
return t * t == n ? (t+1)*(t+1) : -1
}
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] Programmers_Lv1 ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.06.22 |
---|---|
[Swift] Programmers_Lv1 ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.06.22 |
[Swift] Programmers Lv1 ์ง์ ์ ํ์ (0) | 2022.06.21 |
[swift] programmers LV1 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.06.21 |
[swift] programmers LV1 - x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.06.16 |