문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/181187
수학적인 사고능력이 필요한 문제였습니다.
알고리즘은 아래와 같습니다.
1. 원은 상하좌우 대칭이므로 (1 사분면 내 조건에 맞는 좌표들의 개수) * 4를 하면 정답이 나옵니다.
2. 따라서 [1, r2] 구간의 좌표들을 구하는데 이때 r1, r2, 그리고 x의 값이 연산 중 int 범위를 초과하며 오버플로우가 발생할 수 있으므로 x * 1LL * x와 같이 처리하여 int 범위를 초과하더라도 연산값이 잘 저장되도록 처리해 줍니다.
2.1 minY와 maxY는 피타고라스의 정리를 연상하면 쉽게 구할 수 있습니다.
3. 1번에서 설명했듯이 2번에서 구한 값에 4를 곱한 뒤 반환해 줍니다.
개발환경: Programmers IDE
지적, 조언, 질문 환영합니다! 질문 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 2차원 동전 뒤집기 (0) | 2023.10.20 |
---|---|
[Programmers] COS Pro 1급 C 모의고사 (0) | 2023.09.05 |
[Programmers] 과제 진행하기 (0) | 2023.08.17 |
[Programmers] 연속된 부분 수열의 합 (0) | 2023.08.13 |
[Programmers] 요격 시스템 (0) | 2023.08.11 |