티스토리 뷰
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/140107
💡 구현 아이디어
- d를 기준으로 원을 그려서 x에 대한 y를 구함
- x가 k의 배수인 경우에 k의 배수인 y 개수 구함
💻 코드
import Foundation
func solution(_ k:Int, _ d:Int) -> Int64 {
let d: Int64 = Int64(d)
let k: Int64 = Int64(k)
var i: Int64 = 0
var result: Int64 = 0
while i*i <= d*d {
let temp: Int64 = d*d - i*i
let y: Double = sqrt(Double(temp))
if i % k == 0 {
result += Int64(y) / k + 1
}
i += 1
}
return result
}
❌ 틀린 이유 및 틀린 부분
⏳ 시간 복잡도
O(N) : X값 0~sqrt(d^2) 범위까지만 확인
📌 풀이 또는 기억할 정보
'PS > 문제 풀이' 카테고리의 다른 글
| [프로그래머스/Swift] 340212번 - 퍼즐 게임 챌린지 (0) | 2025.04.29 |
|---|---|
| [프로그래머스/Swift] 62048번 - 멀쩡한 사각형 (0) | 2025.04.27 |
| [프로그래머스/Swift] 60057번 - 문자열 압축 (0) | 2025.04.23 |
| [프로그래머스/Swift] 134239번 - 우박수열 정적분 (0) | 2025.04.22 |
| [프로그래머스/Swift] 172927번 - 광물 캐기 (0) | 2025.04.22 |
