Fascination
article thumbnail

1. [문제]

 

Mini-Max Sum | HackerRank

Find the maximum and minimum values obtained by summing four of five integers.

www.hackerrank.com

 

 

2. [문제 설명]

- 입력: 5개의 띄어쓰기로 구분되는 숫자 5개를 한 줄로 입력받음
- arr: 주어진 arr에는 5개의 정수 값을 입력받을 수 있음
- 출력: 32bit 정수보다 커야함, 5개의 숫자 중 4개를 골라 가장 작은 합과 가장 큰 합을 출력

 

 

3. [문제 풀이]

- 입력 받은 arr를 정렬(버블 정렬 사용)하여 오름차순으로 정리

- for문을 이용하여 두개의 출력 값을 계산

  > 가장 합이 작을 때는 인덱스 0~3까지의 합

  > 가장 합이 클 때는 인덱스 1~4까지의 합

- 출력 값이 32bit 정수보다 커야하므로 결과 값을 나타내는 변수들을 unsigned int로 선언하여 사용

 

 

4. [코드]

<c++ />
void miniMaxSum(vector<int> arr) { unsigned int result1=0,result2=0,temp; for (int i = 0; i < 5; i++) { for (int j = 0; j < 4 - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for(int i=0;i<4;i++) result1= result1+arr[i]; for(int j=1;j<5;j++) result2= result2+arr[j]; cout<<result1<<" "<<result2<<endl; }

 

 

5. [실행결과]

profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!