728x90
[level 0] 점의 위치 구하기 - 120841 [문제 링크]
### 성능 요약
메모리: 10.2 MB, 시간: 0.00 ms
### 구분
코딩테스트 연습 > 코딩테스트 입문
### 채점결과
정확성: 100.0
합계: 100.0 / 100.0 ### 문제 설명
사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.
- x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
- x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
- x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
- x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot
이 매개변수로 주어집니다. 좌표 dot
이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
제한사항
dot
의 길이 = 2dot[0]
은 x좌표를,dot[1]
은 y좌표를 나타냅니다- -500 ≤
dot
의 원소 ≤ 500 dot
의 원소는 0이 아닙니다.
입출력 예
dot | result |
---|---|
[2, 4] | 1 |
[-7, 9] | 2 |
입출력 예 설명
입출력 예 #1
dot
이 [2, 4]로 x 좌표와 y 좌표 모두 양수이므로 제 1 사분면에 속합니다. 따라서 1을 return 합니다.
입출력 예 #2
dot
이 [-7, 9]로 x 좌표가 음수, y 좌표가 양수이므로 제 2 사분면에 속합니다. 따라서 2를 return 합니다.
나의 답안
def solution(dot):
answer = [1,2,3,4]
if dot[0]>0 and dot[1]>0:
return answer[0]
elif dot[0]>0 or dot[1]>0:
if dot[0]<0:
return answer[1]
else:
return answer[3]
else:
return answer[2]
다른 사람 답안
def solution(dot):
quad = [(3,2),(4,1)]
return quad[dot[0] > 0][dot[1] > 0]
이 코드를 보고 감탄만..... o0o!!!
True=1, True=0 이므로
- quad[0][0] : 3사분면
- quad[0][1] : 2사분면
- quad[1][0] : 4사분면
- quad[1][1] : 1사분면
728x90
'STUDY > Python' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 python (0) | 2023.02.27 |
---|---|
[프로그래머스] 로그인 성공? python (0) | 2023.02.27 |
[파이썬] 문자열 관련 함수(1) (0) | 2022.12.20 |
[파이썬 가상환경] 파이썬 가상 환경 생성 방법 (0) | 2022.12.20 |
[파이썬 문법] 자료형 (0) | 2022.12.05 |