[백준 14681 파이썬] 사분면 고르기 - 조건문 (if, else 2x2 feat. 동전 던지기)
안녕하세요.
조건문도 어느덧 중간까지 왔네요! 이번에는 x, y 좌표값을 입력받아 몇 사분면인지 출력하는 문제입니다.
사분면은 평면을 x (가로), y (세로) 축으로 나누어 4개의 공간으로 분할한 각각의 면을 1~4 사분면이라고 부르는 것을 말합니다. 문제를 살펴보시죠!
문제 분석
입력은 x, y 값을 줄을 나누어 입력받네요. 줄을 나누어 입력값으로 변수를 지정해 주면 되겠습니다.
출력은 입력받은 좌표가 어느 사분면에 위치하는지, 해당하는 사분면 번호를 출력해 주면 됩니다.
이번 문제는 동전 던지기를 떠올려 볼까요? (지난 '윤년' 문제는 인셉션이었죠!)
독립적인 두 변수 x, y가 각각 양/음수인 경우를 x동전과 y동전이 각각 앞/뒷면이 나오는 경우를 조합한다고 생각해 봅시다. 앞 - 앞/뒤, 뒤 - 앞/뒤 총 4가지 경우의 수가 나오겠죠? (2x2) 앞/뒤를 양/음수로 바꾸고 각각에 1~4사분면 번호만 붙여주면 됩니다!
사분면의 번호는 우측 상단 1사분면부터 반시계 방향으로 2, 3, 4분면 순입니다. x는 양수일 때 오른쪽, y는 양수일 때 위쪽, 각각의 경우와 반대 경우를 조합하여 아래와 같이 2X2 테이블로 나타내 보죠.
2사분면 X<0 (음수), Y>0 (양수) |
1사분면 X>0 (양수), Y>0 (양수) |
3사분면 X<0 (음수), Y<0 (음수) |
4사분면 X>0 (양수), Y<0 (음수) |
답안
양/음수 동전 던지기를 아래와 같이 코드와 주석으로 작성해 보았습니다.
단계를 나누지 않고 elif문을 사용하여 두 조건을 한줄로 표현할 수도 있습니다. 두 조건은 'and'로 간단히 연결해 줄 수 있죠! (참고로 이번 문제와는 관련 없지만 '또는'의 경우 'or' 도 사용 가능합니다.)
편하신 방법으로 제출하시면, 좋은 결과를 얻을 수 있습니다!
이만 마치도록 하겠습니다.
읽어주셔서 감사합니다.
'파이썬 > BOJ_조건문' 카테고리의 다른 글
[백준 2525 파이썬] 오븐 시계 - 조건문 (if, else, 시간 분 계산) (0) | 2022.12.30 |
---|---|
[백준 2884 파이썬] 알람 시계 - 조건문 (if, else, 시간 분 계산) (0) | 2022.12.30 |
[백준 2753 파이썬] 윤년 - 조건문 (if, else 중첩 feat. 인셉션) (0) | 2022.12.26 |
[백준 9498 파이썬] 시험 성적 - 조건문 (if, elif, else) (0) | 2022.12.26 |
[백준 1330 파이썬] 두 수 비교하기 - 조건문 (if, elif, else) (0) | 2022.12.25 |
댓글