반응형
Numpy 실습 -기초 문제 3
롤러코스터
문제 설명
그렙월드의 T익스플로러는 몸무게와 키에 대하여 다음과 같은 이용 제한을 두고 있습니다.
- 키는 150cm 이상 195cm 이하
- 몸무게는 140kg 미만
그러나 관광객의 대다수는 이용 제한을 읽지 않고 줄을 기다리다 타기 직전, 탑승 불가 통보를 받아 불만을 제기하고 있습니다. 이를 방지하고자 줄 서 있는 사람들을 조사하여 탑승 불가한 손님들에게 미리 정보를 전달하려 합니다. 줄 서 있는 사람들의 순서에 맞춰 그들의 키와 몸무게는 info에 다음과 같이 담겨있습니다.
- info 첫 번째 행에는 사람들의 키 정보가 담겨있다.
- info 두 번째 행에는 사람들의 몸무게 정보가 담겨있다.
info가 numpy.ndarray타입의 2차원 배열로 주어질 때, 이용 제한에 걸리는 손님들의 인덱스를 list에 담아 반환하는 함수를 구현하세요.
제한 사항
info에는 np.float64 타입의 원소들이 담겨있다.
입출력 예
info | return |
---|---|
[[151.4 172.45 138.65 177.63 207.46] [ 44.64 163.5 112.35 73.55 97.83]] | [1, 2, 4] |
입출력 예 설명
인덱스 1 손님은 몸무게가 140 이상인 163.50이므로 탑승 불가합니다.
인덱스 2 손님은 키가 150 미만인 138.65이므로 탑승 불가합니다.
인덱스 4 손님은 키가 195 초과인 207.46이므로 탑승 불가합니다.
위와 같이 인덱스 1, 2, 4 의 손님들은 이용 제한에 걸리고, 그 외의 손님들은 모두 걸리지 않으므로 [1, 2, 4]를 반환합니다.
문제 풀이
import numpy as np
def solution(info):
answer = []
for i in range(len(info[0])):
if info[0][i] < 150 or info[0][i] > 195 or info[1][i] >= 140:
answer.append(i)
return answer
문제 해석
해당 info가 2차원배열로 되어있으므로 index 탐색을 통해 해당 조건에 맞는 값들의 index를 answer 리스트에 추가해줬다.
'AI_Bootcamp' 카테고리의 다른 글
Numpy 심화 실습 chap2 bool 인덱싱 (0) | 2022.01.19 |
---|---|
Numpy 심화 실습 chap 1 matmul()와 dot()의 차이 (0) | 2022.01.19 |
AWS를 활용한 인공지능 모델 배포 chap1 (1) | 2022.01.18 |
3주차 Day12 Numpy 실습 II (0) | 2022.01.18 |
3주차 Day11 Numpy 실습 I (0) | 2022.01.17 |