[프로그래머스][파이썬] 가장 큰 수 찾기 - 배열 (Level 0)

뻥튀기아이스크림·2025년 3월 20일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120899

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(array):
    return [max(array), array.index(max(array))]
  • 말 그대로 최댓값과 그 수의 인덱스를 배열에 담아 반환했다.
  • 내장 함수가 없었다면 반복문을 돌며 풀이했을듯 싶다.

◽ 다른 사람 풀이

def solution(array):
    answer = [0, 0]
    num = array[0]
    
    for i in range(len(array)):
        if num < array[i]:
            num = array[i]
            answer[0] = num
            answer[1] = i
            
    return answer
  • 반복문을 사용한 풀이다.
  • 최댓값을 첫번째 원소로 지정한 다음, 배열을 순회하며 비교했다.

◽ 더 나아가기

  • 두 풀이 모두 시간복잡도는 O(n) 으로 같지만, 첫 번째 코드가 배열을 두 번 순회하는데 두 번째 코드는 배열을 한 번 순회하며 값과 인덱스를 한번에 찾아서 조금 더 효율적일것 같다.
  • 배열이 크기가 매우 크다면 고려해볼만 하다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글