티스토리 뷰

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/140107

💡 구현 아이디어

  1. d를 기준으로 원을 그려서 x에 대한 y를 구함
  2. 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) 범위까지만 확인

📌 풀이 또는 기억할 정보

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
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 29 30 31
글 보관함