[백준 BOJ] 10797번 10부제 (C++/cpp)

2022. 7. 19. 23:04PS (Program Solving)/BOJ (백준)

문제 설명

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

 

10797번: 10부제

서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는

www.acmicpc.net

백준 BOJ 10797번 10부제 문제 사진

 

접근 방법 - 논리 연산의 기본 문제

백준의 10797번 문제는 논리 연산에 있어 아주 기본적인 원리를 다루고 있는 문제이다.

해당 문제는, 5대의 차량 중 자동차 10부제를 어기고 있는 차량의 수를 출력해야 하는 문제이다.

(10부제에 대한 자세한 설명은 문제를 참고해보길 바란다.)

해당 문제에선 날짜의 일의 자리 숫자와 차량들의 일의 자리 숫자가 모두 입력값으로 친절하게 제공된다.

따라서 논리 연산자와 반복문의 사용만 원활하다면 아주 쉽게 풀 수 있을 것으로 예상된다.

혹여나 이 둘의 사용이 아직 어색하다면, 아래의 설명과 코드를 참고해보길 바란다.

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

 

코드의 실행 순서

1) 현재 날짜의 일의 자리 숫자(n)를 입력받는다.

 

2) 정답을 카운팅할 변수 num을 0으로 초기화하여 선언한다.

 

3) 반복문을 이용하여 아래의 연산을 취한다.

- 5대의 차량의 일의 자리 숫자(a)를 순차적으로 입력받는다.

- 만약 a가 n과 같다면 num에 1을 더한다.

 

4) 3)에서 연산이 모두 끝났다면, 최종적으로 저장된 num의 값을 출력한 뒤 실행 종료한다.

반응형

 

성공한 코드

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

//백준 10797번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int n;
	cin >> n;

	int num = 0;
	for (int i = 0; i < 5; i++) {
		int a;
		cin >> a;
		if (a == n) { num++; }
	}
	cout << num << endl;
}

 

제출 결과

백준 BOJ 10797번 10부제 문제 C++ 제출 결과

(2022.06.29 백준 10797번 문제 제출 결과)

반응형