※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts