-
[파이썬/Python] 백준 14681번(사분면 고르기) 단계별로 풀어보기+ [점점 짧아지는 답안 예시 3개]깜빡의 취미/파이썬을 합니다. 2021. 8. 15. 23:56728x90
문제는 아래와 같다.
# 문제를 풀며 알아야 할 것
우선 단계별로 풀어보기를 잘 수행하고 있는 분들이라면 걱정할 것이 없는 int(input()) 함수 조합을 알아야 한다. input() 함수는 입력값을 받을 수 있도록 해주는 함수이고, int함수를 통해 입력받을 값을 정수로 한정 짓는다.
두 번째이자 마지막으로 알아야 할 것은 and이다. if문의 조건을 표현할 때, 'x and y'라는 식으로 표현하면 x와 y 모두를 충족할 때에만 if문이 참으로 인식된다.
# 답안 예시1
# if 절의 기본은 아래의 링크를 참고해 주시면 감사하겠습니다.
가장 간단한 답안은 모든 조건을 명시해 주는 것이다. elif문을 사용하여 각각의 사분면에 해당하는 조건과 출력될 문구를 설정한다. 맨 끝 else / pass는 넣어도 되고 안 넣어도 되지만, 정확히 하려면 넣는 것이 좋다.
[답안예시 1] 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') elif x>0 and y<0: print('4') else: pass
# 답안 예시2
1사분면과 4사분면은 모두 x>0이라는 공통점이 있다. 2사분면과 3사분면은 반대로 x<0이다. 이를 이용하여 if문 안에 if문을 작성해 보자. 이때 x>0이 아니면 x<0, y>0이 아니면 y<0밖에 될 수 없다는 점을 이용해, 꼭 필요한 조건을 빼고 전부 else문으로 설정해 주었다.
[답안예시 2] x= int(input()) y= int(input()) if x>0: if y>0: print('1') else: print('4') else: if y>0: print('2') else: print('3')
# 답안 예시3
답안 예시2는 너무 복잡하게 느껴진다. 이미 x와 y는 무조건 음수 또는 양수라는 조건이 있다. 따라서 4사분면을 '1,2,3사분면이 아닌 것'이라고 해석해볼 수 있다. 이를 이용하여 답안 예시1을 간략하게 만들어볼 수 있다.
[답안예시 3] 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')
'깜빡의 취미 > 파이썬을 합니다.' 카테고리의 다른 글
[파이썬/Python] for문 기본, 그리고 range 함수 (3) 2021.08.29 [파이썬/Python] 백준 2884번(알람 시계) 단계별로 풀어보기 (0) 2021.08.22 [파이썬/Python] 백준 2753번(윤년) 단계별로 풀어보기+ [2월 29일 생일 챙기기] (0) 2021.08.08 [파이썬/Python] 백준 9498번(시험 성적) 단계별로 풀어보기+ [밑으로 갈수록 쉬워지는 답안 3개 모음] (0) 2021.08.01 [파이썬/Python] 백준 1330번(두 수 비교하기) 단계별로 풀어보기 (0) 2021.07.25