๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 10799_์‡ ๋ง‰๋Œ€๊ธฐ

๋ฟŒ์•ผ._. 2024. 7. 26. 11:55
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/10799)

< ์‡ ๋ง‰๋Œ€๊ธฐ >

 

๋ฌธ์ œ ํ’€์ด 

 

Stack์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซํžŒ ๊ด„ํ˜ธ๊ฐ€ ์—ฐ๋‹ฌ์•„ ์žˆ์„ ๋•Œ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์ž๋ฅธ๋‹ค๋Š” ์ ์„ ํ™œ์šฉํ•œ๋‹ค.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;

public class _10799_ { // ์‡ ๋ง‰๋Œ€๊ธฐ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

		String str = bf.readLine();

		Stack<Character> stack = new Stack<>();
		int result = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) == '(') {
				stack.add('(');
				if (str.charAt(i + 1) != ')') {
					result += 1;
				}
			} else {
				stack.pop();
				if(str.charAt(i-1)!=')') {
					result += stack.size();
				}
			}
		}
		System.out.println(result);
	}
}
๋ณ€์ˆ˜)
str : ์‡ ๋ง‰๋Œ€๊ธฐ์™€ ๋ ˆ์ด์ € ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด„ํ˜ธ ํ‘œํ˜„
stack : ์ž˜๋ ค์ง„ ์กฐ๊ฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ Stack
result : ์ž˜๋ ค์ง„ ์กฐ๊ฐ์˜ ์ด ๊ฐœ์ˆ˜

 

์‡ ๋ง‰๋Œ€๊ธฐ์™€ ๋ ˆ์ด์ € ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด„ํ˜ธ ํ‘œํ˜„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๊ด„ํ˜ธ ํ‘œํ˜„์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋‹ค์Œ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

1) ์—ฌ๋Š” ๊ด„ํ˜ธ๋ผ๋ฉด stack์— ์ถ”๊ฐ€ํ•œ๋‹ค. ๋งŒ์•ฝ ๋‹ค์Œ์ด ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์‡ ๋ง‰๋Œ€๊ธฐ๋ž€ ๋œป์ด๋ฏ€๋กœ result์— 1์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

2) ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ผ๋ฉด stack์—์„œ pop ํ•œ๋‹ค. ๋งŒ์•ฝ ์ด์ „์ด ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋ ˆ์ด์ €๋ž€ ๋œป์ด๋ฏ€๋กœ stack์— ์žˆ๋Š” ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ๋‹ค ์ž๋ฅด๋ฏ€๋กœ result์— stack์˜ ํฌ๊ธฐ๋งŒํผ ๋”ํ•œ๋‹ค.

 

์ตœ์ข… ์ž˜๋ ค์ง„ ์กฐ๊ฐ์˜ ์ด ๊ฐœ์ˆ˜์ธ result๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 4921_๋‚˜๋ฌด ๋ธ”๋ก  (0) 2024.08.01
[Baekjoon] 5619_์„ธ ๋ฒˆ์งธ  (0) 2024.07.30
[Baekjoon] 15705_๋‹จ์–ด ์ฐพ๊ธฐ  (1) 2024.07.25
[Baekjoon] 8989_์‹œ๊ณ„  (0) 2024.07.24
[Baekjoon] 9753_์ง ๊ณฑ  (1) 2024.07.23