Q. 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0), 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)
일단 처음 작성한 코드
x와 y의 범위를 모두 고려하여 작성하였다. 0이 되면 안된다는 조건이 있기 때문에 조금 지저분하게 범위가 작성되었다.
input_x=int(input())
input_y=int(input())
if (input_x>0 and input_x<=1000):
if(input_y>0 and input_y<=1000):
print(1)
elif(input_y>=-1000 and input_y<0):
print(4)
elif(input_x>=-1000 and input_y<0):
if(input_y>0 and input_y<=1000):
print(2)
elif(input_y>=-1000 and input_y<0):
print(3)
처음에 작성했을 때,
또 함수도 없는데 return 쓰고 있어서 진짜 바보인가 싶었다.
그래도 이제는 안틀릴 것 같다.
다른 사람들의 코드를 참고해서 공부해보고 온 결과 ...
문제에서 x와 y는 -1000와 1000사이지만 0은 아닌 수라는 조건을 줬는데, 이런 숫자 조건들은 다 무시하는지 모르겠다.
알아봐야겠다.
어쨌든 최대한 간결하게 다시 작성해보면,
x=int(input())
y=int(input())
if (x>0 and y>0):
print(1)
elif (x<0 and y>0):
print(2)
elif (x<0 and y<0):
print(3)
else :
print(4)
참고로, x=int(input())과 같은 식으로 작성하면, 문자를 작성했을 때 오류가 뜬다고 한다. 우리가 관리할 때 편한 것 뿐만 아니라, 입력 받는 자료형까지 지정해버리는 것이었다.
'코딩테스트 준비 > Python' 카테고리의 다른 글
1676 python 팩토리얼 0의 개수 4가지 풀이법 (0) | 2023.08.16 |
---|---|
[백준/python] 11720번 : 숫자의 합 (0) | 2023.05.03 |
[백준/python] 2884번: 알람 시계 (0) | 2023.04.15 |
백준 2753 python : 윤년판별 (0) | 2023.04.06 |
백준 9498 python : 시험성적 (0) | 2023.03.18 |