반응형
처참히 패배했다. 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;
}
못 풀었으니 하나 더 풀어야겠다.
반응형
'[프로그래머스]' 카테고리의 다른 글
프로그래머스 수식 최대화 C++ (0) | 2023.09.05 |
---|---|
프로그래머스 전력망을 둘로 나누기 C++ (0) | 2023.09.03 |
프로그래머스 리코쳇 로봇 C++ (0) | 2023.09.01 |
프로그래머스 과제 진행하기 C++ (0) | 2023.08.30 |
프로그래머스 멀리 뛰기 C++ (0) | 2023.08.21 |