반응형

www.acmicpc.net/problem/20650

문제는 위 백준 사이트에서 풀었다.

작성언어 : C언어

 

20650번: Do You Know Your ABCs?

Farmer John's cows have been holding a daily online gathering on the "mooZ" video meeting platform. For fun, they have invented a simple number game to play during the meeting to keep themselves entertained. Elsie has three positive integers $A$, $B$, and

www.acmicpc.net

 

<문제 풀이>

주어지는 숫자들의 관계를 생각해보면 된다.

A
B
C
A+B
A+C
B+C
A+B+C
총 7개의 숫자가 순서없이 주어지는데,
조건 (A <= B <= C) 에 의해
가장 큰 값은 A+B+C
가장 작은값은 A,
두번째로 작은 값은 B 이다.

그러면 A,B 는 쉽게 구할 수 있고
가장 큰 수 인 (A+B+C) 에서 A, B 를 빼주면 C 도 구할 수 있다.

코드는 다음과 같다.

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int arr[7];

    for(int i = 0 ; i < 7; i++){
        scanf("%d", &arr[i]);
    }


    //getMax (C)
    int max = -99;
    for(int i = 0 ; i < 7; i++){
        if(arr[i] > max) max = arr[i];
    }

    //getMin (A)
    int min = 999999999;
    int minIdx = -1;
    for(int i = 0 ; i < 7; i++){
        if(arr[i] < min){
            min = arr[i];
            minIdx = i;
        } 
    }


    //getSecondMin (B)
    int min2 = 999999999;
    for(int i = 0 ; i < 7; i++){
        if(i == minIdx) continue;
        if(arr[i] < min2) min2 = arr[i];
    }

    printf("%d %d %d", min, min2, max-min-min2);

}
반응형

'개발 > 알고리즘' 카테고리의 다른 글

[USACO] Swapity Swap JAVA  (0) 2021.02.23
[USACO] Triangles JAVA  (0) 2021.02.22
[프로그래머스] 모의고사 JAVA  (0) 2021.02.21
[프로그래머스] 완주하기 못한 선수 JAVA  (0) 2021.02.20
[USACO] Daisy Chains (C언어)  (0) 2021.02.17
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기