c#으로 터렛을 풀어보겠다.
두 터렛의 좌표와 각각의 터렛에서 마린의 위치까지의 거리를 받고,
마린이 존재할 수 있는 좌표의 수를 출력하면 된다.
맨 처음에 본 순간, 마린이 존재할 수 있는 위치를 구해야 하나하는 생각이 들었지만, 바로 그럴 필요가 없다고 생각했다.
그 이유는 이 문제는 결국 위치의 수를 구하면 되지, 위치 자체를 구해서 그 수를 세는 문제가 아니기 때문이다.
터렛 1과 터렛 2의 마린까지의 거리를 위 그림에서의 r, r'로 하면, r과 r', 터렛끼리의 거리 d의 관계를 보면 경우의 수를 구할 수 있다.
이를 코드로 나타내면
이렇게 된다.
제출을 해봤더니...
틀렸다.
다시 문제를 읽어보니...
무한대일 경우에는 -1을 출력한다를 고려하지 않아 틀린거 같다.
조금 고쳤다.
터렛간 거리가 0 이고 마린까지 거리가 같다면 마린이 있을 위치는 무한이 되므로 -1을 출력하고 실행횟수를 깎았다.
이걸 실행해보면
맞았다.
간단한 문제인데 세번이나 하게 하다니... 역시 코딩은 실수를 줄이는게 중요한거같다.
백준은 알고스팟과 다르게 난이도별로 문제 배열이 안되서 조금 불편한거같다. (분류 자체는 가능하지만 한 페이지 내에서만 적용이 되고 다음 페이지는 적용이 안됨)
그래도 많은 사람이 이용하는거 보면 이유가 있을거 같은데 아직은 잘 모르겠다.
아 그리고 문제가 1000번 부터 시작하는데 이것도 이유 불명..
이런 기초적인 c# 문제 (그렇다고 너무 쉬운건 말고)를 앞으로도 1일~2일마다 하나씩 풀려 한다.
그리고 코드를 사진으로 넣지 말고 다른 사람들이 하는 것처럼 커서로 클릭할 수 있도록 하려 했는데 그 때 이용되는 SyntaxHighLighter란 프로그램이 설치하는데 귀찮아보여 일단은 패스하기로 했다. 언젠간 할 것임.
'코테용 문제풀이 > 백준' 카테고리의 다른 글
X보다 작은 수 풀이 (0) | 2022.12.30 |
---|---|
별 찍기 - 1 풀이 (0) | 2022.12.30 |
백준 1009번 문제 분산처리 c#으로 풀기 (0) | 2019.06.08 |
백준 1004번 문제 어린 왕자 c#으로 풀기 (0) | 2019.06.08 |
백준 1003번 문제 피보나치 함수 c#으로 풀기 (0) | 2019.06.07 |