01-24 13:36
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[BAEKJOON] ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1541 :: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ ๋ณธ๋ฌธ

Algorithm/Baekjoon

[BAEKJOON] ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1541 :: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

miinsun 2022. 4. 14. 23:28

๐Ÿ’ฌ  ๋ฌธ์ œ ์„ค๋ช…

์„ธ์ค€์ด๋Š” ์–‘์ˆ˜์™€ +, -, ๊ทธ๋ฆฌ๊ณ  ๊ด„ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ๋ชจ๋‘ ์ง€์› ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค.

๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

๐Ÿ”จ  ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ 

  • ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค.
  • ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค.
  • ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์‹์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

 

์ถœ๋ ฅ

  • ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1)

55-50+40

 

์˜ˆ์ œ ์ถœ๋ ฅ 1)

-35

 

์˜ˆ์ œ ์ž…๋ ฅ 2)

10+20+30+40

 

์˜ˆ์ œ ์ถœ๋ ฅ 2)

100

โ€‹

์˜ˆ์ œ ์ž…๋ ฅ 3)

00009-00009

 

์˜ˆ์ œ ์ถœ๋ ฅ 3)

0

โ€‹

โ€‹

๐Ÿ’ป  Main.java

/* ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ - 1541 :: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ */
import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String s = br.readLine();
		int answer = 0;

		boolean isMinus = false;
		String tmp = "";
		for(char c : s.toCharArray()) {
			// ์ˆซ์ž๋ฉด tmp์— ๋‹ด์•„์„œ ์ €์žฅ
			if(Character.isDigit(c)) {
				tmp += c;
			}
			else {
				// ๊ธฐํ˜ธ๋ฅผ ๋งŒ๋‚˜๋ฉด, answer์— tmp๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์ค€๋‹ค.
				if(isMinus)
					answer -= Integer.parseInt(tmp);
				else
					answer += Integer.parseInt(tmp);
				
				// - ์ดํ›„์˜ ๋ชจ๋“  ์ˆ˜๋Š” ๋นผ์ค€๋‹ค.
				if(c == '-') {
					isMinus = true;
				}
				
				// tmp ์ดˆ๊ธฐํ™”
				tmp = "";
			}
		}
		
		// ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋„ ๊ณ„์‚ฐํ•ด์ค€๋‹ค
		if(isMinus)
			answer -= Integer.parseInt(tmp);
		else
			answer += Integer.parseInt(tmp);
		
		System.out.println(answer);
		br.close();
	} 
}
Comments