프로그래머스 Lv 0. 문제
내가 푼 코드
def solution(dot):
x, y = dot[0], dot[1]
if x > 0:
if y > 0:
answer = 1
else:
answer = 4
else:
if y > 0:
answer = 2
else:
answer = 3
return answer
다른사람의 풀이
def solution(dot):
quad = [(3,2),(4,1)]
#or
quad = [[3,2], [4,1]]
return quad[dot[0] > 0][dot[1] > 0]
처음보는 문법이다...
주피터로 이렇게 저렇게 돌려보니 리스트 내 리스트가 있는 경우, boolean으로 indexing할 수 있는 것 같다.
(신기하면서 누가 이런걸 개발했을까,,,,싶다)
boolean으로 indexing하는 이 문법이 생각나는데,
a=[1,2,3]
b=[True,False,True]
print(a[b])
#output: [1,3]
일단 저 문법은 sub-list or tuple안에 2개의 인자 이상이 있어야지만 동작한다.
그 보다 작은 인자가 있으면 이렇게 에러가 발생한다.
'Programming > python' 카테고리의 다른 글
How to reshape numpy array (ndarray) - 넘파이 어레이 크기 변경하는 방법 2가지 (2) | 2023.01.02 |
---|---|
파이썬 원하는대로 리스트 정렬하기 Python sort(), sorted() (0) | 2022.12.24 |
Python Pandas Cheat Sheet | 판다스 완전 정복하기 (2) | 2022.12.19 |
파이썬 - 출력 텍스트에 색상넣는 방법 | print() function with colored text in python (0) | 2022.11.17 |
Python에서 __future__ 모듈의 기능 (0) | 2022.11.14 |