Test/Python(20220101~)

프로그래머스.L0.가장큰수찾기

kiostory 2022. 10. 20. 21:16
문제 설명

정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array 원소 ≤ 1,000
  • array에 중복된 숫자는 없습니다.

입출력 예arrayresult
[1, 8, 3] [8, 1]
[9, 10, 11, 8] [11, 2]

입출력 예 설명

입출력 예 #1

  • 1, 8, 3 중 가장 큰 수는 8이고 인덱스 1에 있습니다.

입출력 예 #2

  • 9, 10, 11, 8 중 가장 큰 수는 11이고 인덱스 2에 있습니다.

 

 

* 첫 번째 생각

가장 큰 수를 담을 변수 new1을 선언하고 각 원소를 new1과 비교,

최종적으로 저장된 가장 큰수 new1을 answer에 append하고, 그 수의 배열 index를 index()로 다시 append

 

def solution(array):
    answer = []
    new1 = 0
    for i in array:
        if i >= new1:
            new1 = i
    answer.append(new1)
    answer.append(array.index(new1))

    return answer

 

* 두 번째 생각

내 이럴 줄 알았다

배열에서 요소 최소/최대값을 찾는 함수가 이미 있다.   min(), max()

def solution(array):
    answer = []
    answer.append(max(array))
    answer.append(array.index(max(array)))

    return answer

 

더 간단하게..

def solution(array):
    return [max(array), array.index(max(array))]

 

역시, 함수를 외워야 하나...

길게, 어렵게, 로직을 고민할 필요가 없다