๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๊ตฌ๋ฆ„ ์ฑŒ๋ฆฐ์ง€

[๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€] 1์ฃผ์ฐจ ํ•™์Šต ์ผ๊ธฐ #1

by ๋Œ€๋ณต2 2023. 8. 16.

๋ฌธ์ œ ์„ค๋ช…

๋ณดํ†ต์˜ ๊ณ„์‚ฐ๊ธฐ๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋งŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. 

๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์ด์ „ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋”ฐ๋กœ ๊ธฐ๋กํ•ด ๋‘ฌ์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์—ˆ๋‹ค. ํ”Œ๋ ˆ์ด์–ด๋Š” ์ด๋Ÿฌํ•œ ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ฉ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. 

ํ•ฉ ๊ณ„์‚ฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณ„์‚ฐ์‹์„ ์ž…๋ ฅ๋ฐ›์€ ๋’ค, ๊ฐ๊ฐ์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋‘ ํ•ฉํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

ํ•ฉ ๊ณ„์‚ฐ๊ธฐ์— ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„์‚ฐ์‹์€ ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

  • ๊ณ„์‚ฐ์‹์€ <์ •์ˆ˜> <์—ฐ์‚ฐ ๊ธฐํ˜ธ> <์ •์ˆ˜> ํ˜•ํƒœ์ด๋‹ค.
  • <์—ฐ์‚ฐ ๊ธฐํ˜ธ> ์—๋Š” ๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ, ๊ณฑํ•˜๊ธฐ, ๋‚˜๋ˆ„๊ธฐ์˜ ๋„ค ๊ฐ€์ง€ ์‚ฌ์น™ ์—ฐ์‚ฐ ๊ธฐํ˜ธ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ, ๋‚˜๋ˆ—์…ˆ ๊ฒฐ๊ณผ์˜ ๋‚˜๋จธ์ง€๋Š” ๋ฒ„๋ฆฐ๋‹ค.ํ•ฉ ๊ณ„์‚ฐ๊ธฐ์— ์ž…๋ ฅํ•  ๊ฐœ์˜ ๊ณ„์‚ฐ์‹์ด ์ฃผ์–ด์งˆ ๋•Œ, ํ•ฉ ๊ณ„์‚ฐ๊ธฐ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•ด๋ณด์ž.

 

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์‹์˜ ๊ฐœ์ˆ˜ ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

๋‹ค์Œ  T ๊ฐœ์˜ ์ค„์—๋Š” ๊ณ„์‚ฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค.

  • 1 <= T <= 100
  • ๊ณ„์‚ฐ์‹์€ <์ •์ˆ˜> <์—ฐ์‚ฐ ๊ธฐํ˜ธ> <์ •์ˆ˜> ํ˜•ํƒœ๋กœ ์ฃผ์–ด์ง„๋‹ค.
  • <์ •์ˆ˜> ์—๋Š”  ์ด์ƒ  ์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
  • <์—ฐ์‚ฐ ๊ธฐํ˜ธ> ์—๋Š” +, -, *, / ์ค‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ ๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ, ๊ณฑํ•˜๊ธฐ, ๋‚˜๋ˆ„๊ธฐ ๊ธฐํ˜ธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์ถœ๋ ฅ 

ํ•ฉ ๊ณ„์‚ฐ๊ธฐ๊ฐ€ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

 

 

๋ฌธ์ œ ์ดํ•ด

1. ๋‘๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ n ๋ฒˆ์งธ ์ค„ ๊นŒ์ง€๋Š” ๋ชจ๋‘ ์‚ฌ์น™ ์—ฐ์‚ฐ์˜ ์‹์„ ์“ด๋‹ค.

2. ๊ฐ ์ค„์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋Š” 1ํšŒ์ด๋ฉฐ, ์ด ํ•ด๋‹น ์—ฐ์‚ฐ ๊ฐ’๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

 

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ

#1. ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋“ค์„ ์„ค์ •

- ์—ฐ์‚ฐ์˜ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” n, ๊ฐ ์—ฐ์‚ฐ์˜ ์ดํ•ฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜ result, ๊ฐ ์—ฐ์‚ฐ์˜ ๊ธฐํ˜ธ๋ฅผ ์ €์žฅํ•  str, ๊ทธ๋ฆฌ๊ณ  ์—ฐ์‚ฐ๋  ์ˆซ์ž๋“ค num1, num2

#2. ์—ฐ์‚ฐ ์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉฐ result์— ๊ฐ ์—ฐ์‚ฐ๊ฐ’๋“ค์„ ๋”ํ•ด๊ฐ€๋ฉฐ ๊ฐฑ์‹ 

   #2-1. ์—ฐ์‚ฐ ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋Š” for ๋ฌธ ์„ค์ • ํ›„, ๊ฐ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ

   #2-2. str์˜ ๊ธฐํ˜ธ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋Š” ์—ฐ์‚ฐ์„ result์— ๋”ํ•œ๋‹ค.

 

 

 

๋ฌธ์ œ ํ›„๊ธฐ

์•„์ง ์‹œ์ž‘ํ•œ์ง€ ์–ผ๋งˆ ์•ˆ ๋œ ์ฑŒ๋ฆฐ์ง€๋ผ ๊ทธ๋Ÿฐ์ง€ ๋ฌธ์ œ์˜ ๋‚œ์ด๋„๊ฐ€ ๋งค์šฐ ์‰ฌ์› ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์˜คํžˆ๋ ค ์˜ค๋žœ๋งŒ์— ์จ๋ณด๋Š” C++์˜ ๋ฌธ๋ฒ•์ด ๊ธฐ์–ต์ด ์ž˜ ๋‚˜์ง€ ์•Š์•„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋– ์˜ฌ๋ฆฌ๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„์ด ํ›จ์”ฌ ๊ธธ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. C++์— ๋Œ€ํ•œ ๋ณต์Šต์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค..๊ธฐํ˜ธ๋“ค๋กœ ๊ฐ ์—ฐ์‚ฐ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ด์ „์— ์ž์ฃผ ์ผ๋˜ ํŒŒ์ด์ฌ์—๋Š” ์—†๋Š” switch๋ฌธ์„ ํ™œ์šฉํ•ด ๋ณด์•˜๋Š”๋ฐ, if ~ else๋ฌธ ๋Œ€๋น„ ํ›จ์”ฌ ๊ฐ€๋…์„ฑ์ด ์ข‹๊ณ  ๊ฐ„๋‹จํ•œ ๊ฒƒ ๊ฐ™๋‹ค. 

 

 

 

 

์ „์ฒด ์ฝ”๋“œ

#include <iostream>
#include <string>

using namespace std;

int main() {
	int n = 0;
	int result = 0;
	string str;
	int num1, num2;
	
	cin >> n;
	
	for(int i = 0; i < n; i++){
		cin >> num1 >> str >> num2;
		//cout << num1 << str << num2 << endl;
		
		switch(str[0]){
			case '+':
				result = result + (num1 + num2);
				break;
			case '-':
				result = result + (num1 - num2);
				break;
			case '*':
				result = result + (num1 * num2);
				break;
			case '/':
				result = result + (num1 / num2);
				break;
		}
	}
	cout << result << endl;
}