ji_iin
iOSLog
ji_iin
전체 방문자
오늘
어제
  • 분류 전체보기 (56)
    • Swift (8)
    • iOS (6)
    • 알고리즘 (34)
    • CS (3)
    • 회고 (3)
    • 제품리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 프로그래머스
  • 수학
  • 너비우선탐색
  • opional
  • 알고리즘
  • 다이나믹 프로그래밍
  • 백트래킹
  • Python
  • 자바
  • 정렬
  • ios
  • 파이썬
  • 백준
  • 구조체와 클래스
  • 브루트포스 알고리즘
  • 재귀
  • 깊이우선탐색
  • Bye2023
  • swiftUI
  • django
  • 공식문서
  • SWiFT
  • 대기업코테
  • 2022년 회고
  • 깊은복사와 얕은복사
  • 회고
  • 그래프탐색
  • 개발회고
  • 그래프이론
  • 알고리즘개념

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ji_iin

iOSLog

알고리즘

[Python] 리스트의 모든 최댓값의 인덱스 구하기

2022. 2. 1. 14:27

파이썬에서 리스트의 최댓값을 구하는 코드는 max 연산자만 붙이면 간단히 사용할 수 있다.

그렇지만, 리스트에서 최대값이 여러개라면 여러개를 모두 리턴하는 것이 아닌

리스트에서 가장 앞에 있는 값이 리턴된다.

 

다음 배열에서 최댓값인 4는 4번째와 7번째에 위치해있지만

출력해보면 3만 출력 되는 것을 확인할 수 있다. 

list_num = [1,2,3,4,3,2,4]
print(list_num.index(max(list_num)) + 1) #4

 

그렇다면, 모든 최댓값의 인덱스를 구하려면? 값을 하나하나 비교해보면 된다!

첫번째 방법은 간단하게 for 문을 이용해서 구할 수 있다.

list_num = [1,2,3,4,3,2,4]
answer = []
for i in range(len(list_num)):
    if list_num[i] == max(list_num):
        answer.append(i + 1)

print(answer) #[4, 7]

 

두번째 방법은 리스트의 인덱스와 원소의 값에 동시에 접근하면서 반복문을 돌리는 enumerate 함수를 활용할 수 있습니다.

기존의 리스트 값의 최대값을 먼저 m 변수에 저장해놓고,

값을 하나씩 비교하면서 최대값과 같은 인덱스 값을 리스트로 저장한다.

그러면 동일하게 배열의 최댓값의 인덱스를 모두 구할 수 있다!

m = max(list_num)
answer = [index + 1 for index, val in enumerate(list_num) if val == m]
print(answer) #[4, 7]

 

 


참고로, 프로그래머스의 모의고사 문제를 풀다가 이 코드가 필요하여 작성하게 되었다!

https://programmers.co.kr/learn/courses/30/lessons/42840

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

 

저작자표시

'알고리즘' 카테고리의 다른 글

[백준] 1002번 - 터렛  (0) 2022.02.17
[백준] 2583번 - 영역 구하기 (DFS / BFS)  (0) 2022.02.16
[프로그래머스] 연습문제 - 나누어 떨어지는 숫자 배열  (0) 2022.01.18
[Python] itertools 주요 클래스 (permutations, combinations ... )  (0) 2022.01.15
[프로그래머스] 2020 KAKAO 인턴십 (Lv1) : 키패드 누르기  (0) 2022.01.12
    '알고리즘' 카테고리의 다른 글
    • [백준] 1002번 - 터렛
    • [백준] 2583번 - 영역 구하기 (DFS / BFS)
    • [프로그래머스] 연습문제 - 나누어 떨어지는 숫자 배열
    • [Python] itertools 주요 클래스 (permutations, combinations ... )
    ji_iin
    ji_iin
    개발성장일지🐥

    티스토리툴바