반응형
이 글을 통해 2차원 리스트의 X,Y축을 바꾸는 법을 정리하려고 한다.
문제 소개는 귀찮으니까, 사진으로 대체
scores가 2차원 배열로 주어지고 scores[0]에는 0번의 사람이 평가한 점수들이 있다
예를들어 scores[0][0]은 0번이 0번을 평가한 점수, scores[0][3]은 0번이 3번을 평가한 점수
문제를 풀기위해서는 scores[0]을 0번이 받은 점수로 바꾸면 편하다.
예를들어 scores[0][0]은 0번이 0번을 평가한 점수, scores[0][3]은 3번이 0번을 평가한 점수
scores의 X,Y축을 바꾸기위해서,
Numpy의 transpose함수를 사용했다.
scores = np.transpose(scores)
이후에 max와 min을 활용하여 최대, 최소를 구하고 본인을 평가한 점수가 최대, 최소인 경우를 필터링했다.
여기서 주의해야할점은 본인을 평가한 점수가 최대, 최소여도 다른 사람도 그 점수로 평가했다면 필터링하지 않는다.
그래서 count함수를 사용하려고 했는데, 작동이 되지않았다.
다른 스터디원은 scores.tolist()로 해결했고, 나는 무식하게 for문을 또 돌렸다.
추가적으로 numpy는 코딩테스트에서 허용되지않는 경우가 많다고하여 numpy를 활용하지않고,
X,Y축을 바꾸는 방법을 정리한다.
더보기
# numpy를 사용하지 않고 전치하는 방법
A = [[1,2,3],[1,2,3]]
B = [list(x) for x in zip(*A)]
C = list(map(list, zip(*A)))
반응형
'취준일기 > 코딩테스트' 카테고리의 다른 글
Python - sort() / sorted() (0) | 2021.08.18 |
---|---|
프로그래머스 - JadenCase 문자열 만들기 (0) | 2021.07.28 |
프로그래머스 - 소수찾기 (0) | 2021.07.11 |
프로그래머스 - 최솟값 만들기 (0) | 2021.07.07 |
프로그래머스 - 주식가격 (0) | 2021.07.07 |