정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
code - 1차
def solution(numbers):
firstMaxNumber = max(numbers)
indexMaxNumber = numbers.index(firstMaxNumber)
numbers.pop(indexMaxNumber)
secondMaxNumber = max(numbers)
return(firstMaxNumber * secondMaxNumber)
- max(), index() → pop
- firstMaxNumber: max 함수를 이용해 numbers에서 가장 큰 값을 찾습니다.
- index 함수를 이용해 최대값의 index를 찾은 뒤, pop하여 numbers에서 최댓값을 삭제합니다.
- secondMaxNumber: 이후 다시 max 함수를 이용해 numbers에서 새로운 최댓값을 찾습니다.
- firstMaxNumber * secondMaxNumber
- 위에서 찾은 두 원소를 곱해 최댓값을 return합니다.
code - 2차
def solution(numbers):
numbers.sort()
return (numbers[-1]*numbers[-2])
- sort()
- numbers를 오름차순으로 정렬합니다.
- numbers[-1]*numbers[-2]
- 인덱스를 맨 뒤에서부터 카운트하면 -1로 시작합니다. 이 개념을 참고하여 가장 끝에 정렬된(가장 큰) 두 원소를 곱합니다.
def solution(numbers):
numbers.sort(reverse=True)
return (numbers[0]*numbers[1])
- sort(reverse=True)
- numbers를 내림차순으로 정렬합니다.
- numbers[0]*numbers[1]
- 맨 처음과 다음 인덱스, 즉 가장 큰 두 원소를 곱합니다.
https://github.com/seonmin5/codingtest_Python
GitHub - seonmin5/codingtest_Python
Contribute to seonmin5/codingtest_Python development by creating an account on GitHub.
github.com
반응형
'Python' 카테고리의 다른 글
| [Python/level 0] 문자 반복 출력하기 - 120825, join() (1) | 2024.08.17 |
|---|---|
| [Python/level 0] 특정 문자 제거하기 - 120826, replace() (0) | 2024.08.17 |
| [Python/level 1] 자연수 뒤집어 배열로 만들기 - 12932, reversed() (1) | 2024.08.17 |
| [Python/level 1] 자릿수 더하기 - 12931, map, sum (0) | 2024.08.17 |
| [Python/level 0] 주사위의 개수 - 120845, list (0) | 2024.08.07 |