[백준 BOJ] 23795번 사장님 도박은 재미로 하셔야 합니다 (C++/cpp)

2022. 11. 7. 12:36PS (Program Solving)/BOJ (백준)

문제 설명

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

 

23795번: 사장님 도박은 재미로 하셔야 합니다

윤성이가 판마다 배팅한 양의 정수 형태의 돈이 한 줄에 하나씩 입력된다. 입력의 맨 마지막줄에는 윤성이가 자리를 뜨는 순간을 의미하는 수인 -1이 들어온다. 입력된 값은 \(2,000\)개 미만이고,

www.acmicpc.net

백준 BOJ 23795번 사장님 도박은 재미로 하셔야 합니다 문제 사진

 

접근 방법 - 간단한 덧셈을 이용한 연산 문제

백준의 23795번 문제는 간단한 덧셈을 이용하여 쉽게 해결할 수 있는 수학 문제이다.

해당 문제는, 윤성이가 배팅으로 잃어버린 돈의 총합을 구하여 출력해야 하는 문제이다.

각 판에서 배팅으로 잃어버린 돈의 액수들이 입력값으로 나오는데, 이들을 전부 더하여 출력하면 되는 문제이다.

다만 -1이 입력될 때까지 연산을 진행해야 하기 때문에, 무한 반복문을 통해 해결해야 하는 것임을 알 수 있다.

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

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

 

코드의 실행 순서

1) 잃은 돈의 합계를 저장할 변수 sum을 0으로 초기화하여 선언한다.

 

2) 무한 반복문을 실행하여, 아래의 연산을 취한다.

- 한 판에서 잃어버린 돈(a)을 입력받는다.

- 만일, -1을 입력받았다면 해당 반복문을 탈출하도록 한다.

다만, -1이 아닌 숫자를 입력받았다면 sum에 해당 a를 더하도록 한다.

 

3) 최종적으로 저장된 sum의 값을 출력한 뒤, 실행 종료한다.

반응형

 

성공한 코드

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

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

	int sum = 0;
	while (1) {
		int a;
		cin >> a;
		if (a == -1) { break; }

		sum += a;
	}
	cout << sum << endl;
}

 

제출 결과

백준 BOJ 23795번 사장님 도박은 재미로 하셔야 합니다 문제 C++ 제출 결과

(2022.10.15 백준 23795번 문제 제출 결과)

반응형