※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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
주어지는 1또는 2인 정수 세 개를 읽어 둘 중 더 많이 입력이 들어온 수를 출력하는 문제이다.
입력으로 들어오는 수를 세어줄 배열 cnt를 아래의 코드와 같이 만들면 문제를 단순하게 해결할 수 있다.
배열을 만들지 않더라도 1의 개수와 2의 개수를 각각 담당하는 변수를 만들어 문제를 해결할 수도 있다.
또는 경우의 수가 충분히 적으므로 입력으로 들어올 수 있는 모든 가짓수에 대하여 각각 답을 출력하는 하드코딩을 통해 문제를 해결할 수도 있을 것이다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int cnt[3];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
for (int i = 0; i < 3; i++) {
int x; cin >> x;
cnt[x]++;
}
if (cnt[1] > cnt[2]) cout << 1;
else cout << 2;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 18415 // C++] キャピタリゼーション (Capitalization) (0) | 2023.01.14 |
---|---|
[BOJ 18413 // C++] 最頻値 (Mode) (0) | 2023.01.14 |
[BOJ 18410 // C++] マージ (Merge) (0) | 2023.01.14 |
[BOJ 15819 // C++] 너의 핸들은 (0) | 2023.01.13 |
[BOJ 15830 // C++] 싱크홀 (0) | 2023.01.13 |