사분면 고르기
문제의 제목 부터 각 좌표에 대해서 어떤 사분면을 출력 해야 하는지 정하는 프로그램을 예측할 수 있습니다.
문제는 다음과 같습니다.
위에서 말했던 것 처럼 입력 받은 좌표에 대해서 어떤 사분면인지 판단하는 프로그램을 작성하면 되는 것 입니다.
입력 조건은 단순하게 크기에 대해서만 제한이 있습니다.
0보다 작으면 - 크면 +라고 생각하시면 됩니다. 하지만 여기서 0,0은 입력조건에서 제외됩니다.
저희 해답 코드는 다음과 같습니다.
X_coord= int(input())
Y_coord= int(input())
if (X_coord > 0) and (Y_coord > 0):
print(1)
elif (X_coord <0 ) and (Y_coord > 0):
print(2)
elif (X_coord< 0) and (Y_coord < 0):
print(3)
else:
print(4)
두 수를 입력받고 범위를 설정하여 알맞는 범위의 사분면을 출력하게끔 했습니다.
다음은 정답 비율을 확인해보고 분석해보겠습니다.
정답 비율이 이전 문제들과는 다르게 높아진 것을 확인할 수 있었습니다. 이전 문제들로부터 먼저 조건문에 해당하는 연산자 우선순위도 접하였기 때문에 많은 사람들이 쉽게 맞출 수 있음을 알 수 있습니다.
하지만 그래도 다른 사람들의 오답된 풀이를 한번 확인해보도록 하겠습니다.
다음은 공개된 다른 사람의 오답 코드입니다.
조건문 자체가 잘못 설정되었을 것 같지만, 설정에는 문제 없습니다. 다만 조건문 순서에 영향을 받습니다.
line 4와 line 10이 먼저 맨 앞에 있고 line 6, 8이 뒤에 있다면 이미 1,3이 아니라는 것을 판단했고 이제 판단할 것은
x가 음수인지 y가 음수인지 확인만 하면 다른 사분면을 판단할 수 있기 때문입니다.
이 처럼 조건문은 조건 순서에 따라서도 결과값이 달라질 수 있습니다. 따라서 조건문을 설정 할 때는 자신의 원하는 알고리즘을 명확하게 하시길 바랍니다.
두가지 방법 모두 정답 처리 되었습니다.
'BaekJoon Reivew' 카테고리의 다른 글
단계별로 풀어보기 백준_2525번 (0) | 2025.02.05 |
---|---|
단계별로 풀어보기 백준_2884번 (0) | 2025.02.05 |
단계별로 풀어보기 백준_2753번 (0) | 2025.02.05 |
단계별로 풀어보기 백준_9498번 (0) | 2025.02.03 |
단계별로 풀어보기 백준_1330번 (1) | 2025.02.03 |