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())과 같은 식으로 작성하면, 문자를 작성했을 때 오류가 뜬다고 한다. 우리가 관리할 때 편한 것 뿐만 아니라, 입력 받는 자료형까지 지정해버리는 것이었다.

+ Recent posts