본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 18408 : 3 つの整数 (Three Integers)

반응형

https://www.acmicpc.net/problem/18408

 

18408번: 3 つの整数 (Three Integers)

3 つの整数 A, B, C が与えられる.A, B, C はそれぞれ 1 または 2 である.1 と 2 のうち,どちらが多くあるか.

www.acmicpc.net

for문과 max함수를 사용해보는 문제였습니다.

 

📕 풀이방법

📔 입력 및 초기화

3개의 정수의 빈도수를 세줄 일차원 배열 a, 최다 빈도수를 비교할 변수 cnt를 선언 후 3개의 정수를 입력 후 a에 빈도수를 세주어 저장합니다.

 

📔 풀이과정

 1. for문을 돌며 가장 많이 나온 빈도수를 cnt에 저장합니다.

 2. for문을 돌며 cnt와 같은 값이 나온다면 index를 출력하고 break;해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int a[3], cnt;
int main(){
    for(int i = 0, x; i < 3; i++) {
        cin >> x;
        a[x]++;
    }
    for(int i = 0; i < 3; i++) {
        cnt = max(cnt, a[i]);
    }
    for(int i = 0; i < 3; i++) {
        if(cnt == a[i]) {cout << i; break;}
    }
}