[백준 BOJ] 10886번 0 = not cute / 1 = cute (C++/cpp)

2022. 12. 26. 14:54PS (Program Solving)/BOJ (백준)

문제 설명

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

 

10886번: 0 = not cute / 1 = cute

준희는 자기가 팀에서 귀여움을 담당하고 있다고 생각한다. 하지만 연수가 볼 때 그 의견은 뭔가 좀 잘못된 것 같았다. 그렇기에 설문조사를 하여 준희가 귀여운지 아닌지 알아보기로 했다.

www.acmicpc.net

백준 BOJ 10886번 0 = not cute / 1 = cute 문제 사진

 

접근 방법 - 사칙연산의 기본 문제

백준의 10886번 문제는 사칙연산을 이용하여 쉽게 해결할 수 있는 문제이다.

해당 문제는, 입력값으로 주어지는 설문조사의 결과로 준희가 귀여운지 아닌지(...)를 출력해야 하는 문제이다.

이때, 의견은 홀수개로 주어지며 의견의 개수가 더 많은 쪽으로 정답을 출력하면 된다.

알고리즘 문제를 어느 정도 풀어보았다면, 해당 문제는 아주 쉽게 풀 수 있을 것으로 예상된다.

혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 각 의견의 개수를 저장할 배열(op)을 전역 변수로 미리 선언해 둔다.

(의견은 2가지뿐이기 때문에 크기는 2로 설정한다.)

 

2) 총의견의 개수(n)를 입력받는다.

 

3) n의 크기만큼 반복문을 실행하여, 아래의 연산을 취한다.

- 의견(opi)을 하나씩 입력받는다.

- 입력받은 opi를 인덱스로 갖는 op의 배열값에 1을 더하도록 한다.
(opi[0]은 의견 0의 개수를 의미하고, opi[1]은 의견 1의 개수를 의미한다.)

 

4) 의견 정리가 끝났다면, 아래처럼 결괏값을 출력하도록 한다.

- 만일 opi[0] 값이 opi[1] 값보다 크다면, 이는 의견 0의 개수가 더 많다는 것을 의미한다. 따라서 이 경우엔, "Junhee is not cute!"를 출력하도록 한다.

- 다만 반대로 opi[1] 값이 opi[0] 값보다 크다면, 이는 의견 1의 개수가 더 많다는 것을 의미한다. 따라서 이 경우엔, "Junhee is cute!"를 출력하도록 한다.

 

5) 정답을 출력하였다면, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 10886번 코드
int op[2];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int opi;
		cin >> opi;
		op[opi]++;
	}

	if (op[0] > op[1]) { cout << "Junhee is not cute!" << endl; }
	else { cout << "Junhee is cute!" << endl; }
}

 

제출 결과

백준 BOJ 10886번 0 = not cute / 1 = cute 문제 C++ 제출 결과

(2022.12.25 백준 10886번 문제 제출 결과)

반응형