[๊ธฐ๋ณธ] ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ํ™œ์šฉ

2025. 3. 10. 00:08ยท์•Œ๊ณ ๋ฆฌ์ฆ˜

 

์Šคํƒ์„ ํ™œ์šฉํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ

์Šคํƒ์„ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ณดํ†ต ์ง์„ ์ง“๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋‚จ๋…€๊ฐ€ ๋ฐ˜๋ณต๋ผ์„œ ๋‚˜ํƒ€๋‚˜๊ฑฐ๋‚˜, ๋™๋ฌผ ๋“ฑ๋“ฑ ๊ต์ฐจ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ์ƒํ™ฉ์—์„œ ์ง์„ ๋งž์ถฐ์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋Š” ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ด„ํ˜ธ๋Š” ๋ฐ˜๋“œ์‹œ ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์ง์ด ์ด๋ฃจ์–ด์ ธ์•ผ๊ฒ ์ฃ . ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. jsonํŒŒ์ผ์„ ๋ถ„์„ํ•  ๋•Œ๋„ ๊ด„ํ˜ธ์˜ ์—ฌ๋‹ซ์Œ์„ ๋ถ„์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ฒฉ์œผ๋กœ ๊ฐ์ฒด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ๊ทธ ๋‚ด๋ถ€์— array๊นŒ์ง€ ์žˆ๋‹ค๋ฉด, ํ•จ์ˆ˜ ์ฝœ ์Šคํƒ ์ฒ˜๋Ÿผ ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐ”๋‹ค๊ฐ€ ๋‚˜์˜ฌ๋•Œ ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋น ์ ธ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

stack์˜ ๋™์ž‘

 

 

๋ฌธ์ œ ํ’€๊ธฐ

๋ฐฑ์ค€ 9012: ๊ด„ํ˜ธ(๋งํฌ)

 

ํ’€์ด

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <stack>
using namespace std;

int main() 
{
    int count;
    cin >> count;

    for (int i = 0; i < count; i++)
    {
        string str;
        cin >> str;

        stack<int> s;
        bool error = false;
        for (int j = 0; j < str.size(); j++)
        {
            if (str[j] == '(')
                s.push(str[j]);
            else
            {
                if (s.empty())
                {
                    error = true;
                    printf("NO\n");
                    break;
                }

                s.pop();
            }
        }

        if (!error)
            printf("%s\n", s.empty() ? "YES" : "NO");
    }
}

 

์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์— ๋„ฃ๊ณ , ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์—์„œ ๋บ๋‹ˆ๋‹ค. ๋‹ซ๋Š” ๊ด„ํ˜ธ ์ฐจ๋ก€์—์„œ ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋” ๋งŽ์•„์„œ, ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ–ˆ๋Š”๋ฐ ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋” ๋งŽ์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

 

์Šคํƒ์„ ์“ฐ์ง€ ์•Š๋Š” ํ’€์ด

#include <iostream>
#include <stack>
int main()
{
	int T;
	std::cin >> T;
	std::string PS;

	int count;
	for (int i = 0; i < T; i++)
	{
		std::cin >> PS;
		count = 0;
		
		for (int j = 0; j < PS.size(); j++)
		{
			if (PS[j] == '(')
				count++;
			else
				count--;

			if (count < 0)
				break;
		}

		if (count == 0)
			std::cout << "YES\n";
		else
			std::cout << "NO\n";
	}
}

๋ฌผ๋ก  ์Šคํƒ์„ ์“ฐ์ง€ ์•Š๊ณ , count๋ฅผ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด„ํ˜ธ๋ฌธ์ œ์ฒ˜๋Ÿผ ์ง๊ด€์ ์ธ ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถฉ๋ถ„ํžˆ ํ’€์ง€๋งŒ, DFS์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์˜ ํ™œ์šฉ๋„๊ฐ€ ๋” ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๊ธฐ๋ณธ] ํˆฌ ํฌ์ธํ„ฐ  (0) 2025.03.25
[๊ธฐ๋ณธ] ๊ตฌ๊ฐ„ํ•ฉ ์‘์šฉ  (0) 2025.03.13
[๊ธฐ๋ณธ] ํ•ฉ๋ฐฐ์—ด๊ณผ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ  (0) 2025.03.08
[๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰] ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search, DFS)  (0) 2025.02.12
์ฃผ์š” ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์‹œ๊ฐ„๋ณต์žก๋„  (0) 2025.02.07
'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๊ธฐ๋ณธ] ํˆฌ ํฌ์ธํ„ฐ
  • [๊ธฐ๋ณธ] ๊ตฌ๊ฐ„ํ•ฉ ์‘์šฉ
  • [๊ธฐ๋ณธ] ํ•ฉ๋ฐฐ์—ด๊ณผ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ
  • [๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰] ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search, DFS)
์„œ์•„๋ž‘๐Ÿ˜ƒ
์„œ์•„๋ž‘๐Ÿ˜ƒ
Just Do It๐Ÿ’ช
  • ์„œ์•„๋ž‘๐Ÿ˜ƒ
    G-Stack
    ์„œ์•„๋ž‘๐Ÿ˜ƒ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (144)
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (78)
        • C++ ๊ธฐ์ดˆ (28)
        • C++ ์‘์šฉ (18)
        • Python (18)
        • JavaScript & NodeJS (0)
        • Go (12)
        • React & NextJS (2)
        • Java (0)
      • AI (2)
      • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ & ์šด์˜์ฒด์ œ (31)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (12)
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (5)
      • ๋„คํŠธ์›Œํฌ (3)
      • ๋””์ž์ธํŒจํ„ด (5)
      • ์„œ๋น„์Šค & ํˆด (7)
      • ํŠธ๋ Œ๋“œ&์ด์Šˆ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

    • G์Šคํƒ์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํฌ์ธํ„ฐ
    component
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๋ฐฐ์—ด
    ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ
    ๋ณ€์ˆ˜
    ์ƒ์†
    fork
    init
    ์ปดํ“จํ„ฐ
    c++
    ํŒŒ์ด์ฌ
    ๋ฉ”๋ชจ๋ฆฌ
    ํŒŒ์ผ์ž…์ถœ๋ ฅ
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    ์žฌ๊ท€
    ์Šคํƒ
    STD
    ๋””์ž์ธํŒจํ„ด
    cpu
    ํ•˜๋“œ๋””์Šคํฌ
    Thread
    ์กฐ๊ฑด๋ฌธ
    pointer
    go
    RAM
    ํŒจํ‚ค์ง€
    ๋ฐ˜๋ณต๋ฌธ
    ํ•จ์ˆ˜
    c
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.6
์„œ์•„๋ž‘๐Ÿ˜ƒ
[๊ธฐ๋ณธ] ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ํ™œ์šฉ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”