728x90
반응형
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/140107
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
728x90
👩💻 코드
#include <string>
#include <vector>
#include <cmath>
using namespace std;
long long solution(int k, int d) {
long long answer = 0;
for (long long x = 0; x <= d; x += k) {
long long maxY = (long long)d * d - x * x;
long long countY = (long long)(sqrt(maxY)) / k;
answer += countY + 1;
}
return answer;
}
📝 풀이
x와 y가 k의 배수인 모든 점을 탐색하고 그 점이 원점에서 거리가 d 이하인지 확인합니다.
x를 k의 배수로 증가시키면서 원점에서 x만큼 떨어진 상태에서 가능한 최대 y값을 구합니다.
y는 k의 배수이어야 하므로 k로 나눠야 합니다.
또한 0인 경우도 포함해야하기 때문에 1을 더하여 answer에 반영합니다.
반복문이 종료된 후 최종적으로 answer을 return 합니다.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 (1) | 2024.10.17 |
---|---|
[프로그래머스] 후보키 (0) | 2024.10.17 |
[프로그래머스] 문자열 압축 (0) | 2024.10.12 |
[프로그래머스] 광물 캐기 (0) | 2024.10.11 |
[프로그래머스] 우박수열 정적분 (0) | 2024.10.11 |