Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 언리얼엔진5
- const
- GeeksForGeeks
- Unreal Engine5
- UnrealEngine4
- IFileDialog
- DeferredRendering
- C
- 2294
- baekjoon
- NRVO
- UnrealEngine5
- C++
- 프로그래머스
- 티스토리챌린지
- 팰린드롬 만들기
- softeer
- Programmers
- 오블완
- DirectX11
- RootMotion
- RVO
- UE5
- Frustum
- 1563
- 백준
- winapi
- directx
- algorithm
- 줄 세우기
Archives
- Today
- Total
Game Develop
[Algorithm] Programmers :: 점 찍기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/140107
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
32
33
34
|
long long solution(int k, int d)
{
long long answer = 0;
int maxCol = d - (d % k);
int count = d / k + 1;
answer += count;
for (int i = k; i <= d; i += k) // y축이동
{
int curY = i;
int curX = maxCol;
while (1)
{
int distance = ceil(sqrt(pow(curY, 2) + pow(curX, 2)));
if (distance > d) // 범위 넘으면
{
curX -= k; // k만큼 열 줄이고
--count;
}
else
{
answer += count;
maxCol = curX;
break;
}
}
}
return answer;
}
|
cs |
원점기준으로 반지름d만큼의 원을 그렸을 때, 1사분면에 위치한 원이 포함한 점의 개수를 구하는 문제이다.
점은 k배수만큼만 찍힌다.
나는 그냥 0행부터 시작해서 d행까지, y축값을 k만큼 건너뛰면서 이전행에서의 최대열을 그대로 이어받았을 때, d값을 넘어선다면 열값을 k만큼 감소시켰다.
감소시키면서 해당 행에서의 점개수도 1개씩 빼줬고, 유효한 좌표이면 다시 다음 y축값으로 넘어간다. (넘어가기전에 점개수를 answer에 포함시킨다. 점개수도 다음행에 그대로 이어간다)
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm] Programmers :: 행렬의 곱셈 (0) | 2023.06.02 |
---|---|
[Algorithm] Programmers :: 줄 서는 방법 (0) | 2023.06.01 |
[Algorithm] Programmers :: N-Queen (0) | 2023.05.26 |
[Algorithm] Programmers :: 모음사전 (0) | 2023.05.26 |
[Algorithm] Programmers :: 광물 캐기 (0) | 2023.05.25 |