코테준비

[2025.5.2] 백준 9012: 괄호

도도돋치 2025. 5. 2. 20:35
Contents 접기
728x90

 

 

 

stack마지막 pop어떻게 하는지 찾아봄.

https://okky.kr/questions/781135

아래 코드는 문자열을 단어 단위로 분리하는 것이지, 한 글자씩(문자 단위) 분리하는 것은 아니다

string inputString = Console.ReadLine();
string[] input = inputString.Split();

 

설명:

  • Console.ReadLine()은 한 줄의 문자열을 입력받는다.
  • .Split()은 기본적으로 공백 문자(스페이스)를 기준으로 문자열을 "단어" 단위로 분리한다.

 

🔹 만약 문자 하나씩 분리하고 싶다면?

입력: hello world
결과: ["hello", "world"]

 

 

char[] chars = inputString.ToCharArray();
또는
string[] chars = inputString.Select(c => c.ToString()).ToArray();

이렇게 하면 한 글자씩 분리된다.

 

 


  • stack 제일 위 원소 보는법

C#에서 Stack<T>의 제일 위 원소(Top)를 제거하지 않고 확인하려면 Peek() 메서드를 사용하면 된다.

예시:

Stack<int> stack = new Stack<int>();

stack.Push(10);

stack.Push(20);

 

int top = stack.Peek(); // top에는 20이 들어감

Console.WriteLine(top); // 출력: 20

  • Peek()은 Pop()과 달리 스택에서 값을 꺼내지 않고 그냥 확인만 한다.
  • 스택이 비어 있을 경우 InvalidOperationException이 발생하므로, 사용할 때는 Count로 체크하는 게 안전하다.

if (stack.Count > 0)

{

    int top = stack.Peek();

}

 

728x90

'코테준비' 카테고리의 다른 글

[2025.5.2] 백준 10845: 큐  (0) 2025.05.09
[2025.5.7] 백준 1874번: 스택 수열  (0) 2025.05.07
[2025.5.1] 백준 9093: 단어뒤집기  (0) 2025.05.02
[2025.4.30] 백준 10828: 스택  (0) 2025.05.01
DFS 공부  (0) 2025.04.30