안녕하세요! 오늘만 벌써 4개째네요. 그동안 올리지 못했던 것들을 올려드립니다! 도움이 되셨으면 좋겠습니다
이전 코드 내용이 궁금하시다면 아래 링크로 이동하시면 됩니다!
코딜리티 이전 글 - 2020/08/18 - [데이터 분석/파이썬] - [Codility] 코딜리티 6-1. Distinct (Python)
1. 문제 설명
- A에는 다양한 값들이 들어 있는 데, 그 중에 3개를 곱해서 최대가 되는 값을 출력
- A는 원소가 최소 3개이상 존재한다.
2. 풀이 (시간복잡도 : N*log(N))
- idea : A를 sort한 뒤에 음수2개*양수1개, 양수3개를 비교해서 최대값을 출력
- Task score : 100, Correctness : 100, Performance : 100
def solution(A):
A.sort()
contain_negative = A[0]*A[1]*A[-1]
contain_positive = A[-1]*A[-2]*A[-3]
if contain_negative >= contain_positive:
result = contain_negative
else :
result = contain_positive
return result