오늘 시간 낭비한 것에 대한 푸념
풀이는 맞았는데, 실수로 디버깅하려고 작성한 코드를 안 지워서 정답률 및 시간 손해를 봤다... ㅠㅠ 그것도 두 문제나...


구현이 길어지면 단계별로 테스트하기 위해 다음과 같이 로그를 찍어보는 코드를 넣었는데, 제출할 때 이를 인지하지 못 한 게 사건의 발단이었다. 그래서 위와같이 8번의 맞왜틀을 시전했다. 처음 코드에서 44번 라인만 지우니 맞더라...

https://www.acmicpc.net/problem/14266
14266번: 나는 가르친다 스위핑을
영선이는 BOJ 캠프의 강사다. 이번에 스위핑에 대한 세미나를 진행하였는데, 그 연습문제를 만들었다. “1사분면 정수 좌표계에 n개의 점이 주어질 때, 원점을 지나는 직선 중 직선위의 점들이 최
www.acmicpc.net
원래 풀이를 잘 안 쓰는데 이 문제는 아무도 풀이를 안 적은 것 같아서 올려 본다.
1. 원점과 (x1, y1), 원점과 (x2, y2) 사이의 기울기를 구한다.
2. 둘 중 기울기가 작은 것에는 1 을, 큰 것에는 -1 을 매핑해 준다.
3. 기울기와 매핑된 것을 통째로 같은 배열에 넣고 정렬해 준다. (만약 기울기가 같다면 -1 과 매핑된 것이 앞에 온다.)
4. 배열을 순회하면서 매핑된 -1 혹은 1 을 계속 더한다.
마지막까지 더하면 0 이 되어야 하고 중간에 음수가 나오면 안 된다.
ex. (4, 4), (8, 2) 라면 기울기와 매핑된 결과는 (1, 1), (0.25, -1) 이다.
이것을 기준으로 시뮬레이션 하면 기울기 0~0.25 까지 0, 0.25~1 까지 1, 1 이후는 0이 된다.
'알고리즘' 카테고리의 다른 글
[C++]문자열 검색 KMP 알고리즘 (with 백준 1786) (0) | 2022.11.26 |
---|---|
알고리즘 및 코딩테스트 언어 고민 중이다. (0) | 2021.09.19 |
[cpp]백준 1107번 리모컨 (0) | 2021.09.12 |
백준 14734번 Aztec Diamond (cpp) (1) | 2021.07.28 |
백준 1562번 계단수 (0) | 2021.07.21 |