[Q. 10] 배열 파티션 1

2023. 3. 20. 17:51·코딩테스트/알고리즘
n 개의 페어를 이용한 min(a,b)의 합으로 만들 수 있는 가장 큰 수를 출력하라.

 

보면 이해가 안가는 문구이지만, 예제를 보고 이해하였다. 2n 개의 원소가 주어지는데 이를 n개의 min(a,b) 페어로 만든 후 그 페어들의 합이 가장 큰 경우를 출력하라는 뜻이다.

이를 해결하는 방법은 아주 간단하다. 배열을 작은 수 부터 정렬하는 것이다. 그렇게 하면 앞에서 부터 2개씩 끊었을 때, 최소 값이 더 작아지는 것을 막을 수 있다.

 

전체 코드는 다음과 같다.

class Solution:
    def arrayPairSum(self, nums: List[int]) -> int:
        nums.sort()
        answer = 0

        for i in range(0, len(nums), 2):
            answer += nums[i]

        return answer

 

저작자표시 비영리 변경금지 (새창열림)

'코딩테스트 > 알고리즘' 카테고리의 다른 글

[Q. 12] 주식을 사고팔기 가장 좋은 시점  (0) 2023.03.21
[Q. 11] 자신을 제외한 배열의 곱  (0) 2023.03.21
[Q. 09] 세 수의 합  (0) 2023.03.20
[Q. 08] 빗물 트래핑  (0) 2023.03.20
[Q. 07] 두 수의 합  (0) 2023.03.20
'코딩테스트/알고리즘' 카테고리의 다른 글
  • [Q. 12] 주식을 사고팔기 가장 좋은 시점
  • [Q. 11] 자신을 제외한 배열의 곱
  • [Q. 09] 세 수의 합
  • [Q. 08] 빗물 트래핑
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    스프링 부트
    스프링부트
    티스토리챌린지
    클러스터
    쿠버네티스
    react
    클론코딩
    Entity
    mapstruct
    REST API
    백준
    chat GPT
    인스타그램
    spring boot
    Java
    오블완
    OpenAI API
    예외
    MSA
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
[Q. 10] 배열 파티션 1
상단으로

티스토리툴바