문제
해석
정수를 입력받아 조건에 따라 다른 결과를 리턴하는 문제입니다. 이전이 풀었던 점수에 따라 출력이 달라지는 문제와 알고리즘이 동일하는 점을 문제를 통해 알 수 있고, 조건만 이해하면 쉽게 풀 수 있습니다.
풀이
x, y값에 따라 사분면이 달라지고, 그 기준은 x가 양, 음일 때 y가 양, 음 일 때 달라짐을 문제의 그림을 통해 알 수 있습니다. 따라서 조건의 기준은 x가 0보다 큰지, 작은지 와 y가 0보다 큰지, 작은지에 대해 논리식을 세워야 할 것입니다.
처음에 이 문제를 봤을 때 x와 y가 0인 경우에는 어떻게 처리할지 궁금했는데 입력 조건을 보면 0이 될 수 없다는 점을 밝혔기 때문에 x와 y가 0인 되는 경우는 생각하지 않아도 됩니다.
종합적으로 문제의 조건은 다음과 같이 표현할 수 있습니다.
a = input()
a = int(a)
b = input()
b = int(b)
if a>0 and b>0:
print('1')
elif a>0 and b<0:
print('4')
elif a<0 and b<0:
print('3')
else:
print('2')
a와 b는 공백문자가 아니라 개행문자로 입력받기 때문에 따로 input()으로 받았고, 문자형으로 데이터가 저장되기 때문에 정수형으로 형변환 후 논리식을 사용합니다.
정리
제어문의 조건을 문제에 주어진 형태로 바꾸는 연습을 할 수 있는 문제입니다.
논리식을 사용하지 않은 중첩 if문이나 논리식을 사용하는 if ~ else문으로 문제를 풀 수 있습니다.
'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글
[백준] 2525번 : 오븐 시계 (2단계) (Python) (0) | 2024.02.21 |
---|---|
[백준] 2884번 : 알람 시계 (2단계) (Python) (0) | 2024.02.21 |
[백준] 2753번 : 윤년 (2단계) (Python) (0) | 2024.02.21 |
[백준] 9498번 : 시험 성적 (2단계) (Python) (0) | 2024.02.21 |
[백준] 1330번 : 두 수 비교하기 (2단계) (Python) (0) | 2024.02.21 |