[프로그래머스]
프로그래머스 점 찍기 C++
Hevton
2023. 9. 3. 14:04
반응형
처참히 패배했다. For문 두개를 돌리다가 실패했다. 당연한 결과였다.
한 방향만 먼저 구한 뒤에 x 2 를 하는 방법은 없아 고집했는데, 그런게 오히려 더 정답으로부터 멀어지게 만들었다.
다른 분의 풀이를 보고 풀게 되었다.
한쪽을 고정해놓고 = x = i
다른 좌표의 최댓값을 구한 다음에, 0을 포함하기 위해 + 1을 해준다.
#include <string>
#include <vector>
#include <cmath>
using namespace std;
long long solution(int k, int d) {
long long answer = 0;
// k의 배수
for(long long i = 0; i <= d; i+=k) {
long long maxY = sqrt((long long)d * d - (long long)i * i);
answer += floor(maxY / k) + 1;
}
return answer;
}
못 풀었으니 하나 더 풀어야겠다.
반응형