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 |