JAN's History
2주차_백준 문제풀이 본문
1. 문제 10828
2. 문제 9093
3. 문제 1157
- 문제 10828 : 스택
- 풀이 (Scanner + StringBuilder)
- 설명
스택의 기본적인 원칙은 후입선출이다.
(LIFO : Last in First out) 즉, 나중에 들어온 것이 먼저 나간다.
스택의 기본적인 구조는 이러하다.
스택의 기본적인 함수를 아래와 같이 이용하여 코드를 짜본다.
push X : 정수를 X 스택에 넣는 연산이다.
pop : 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우엔 -1를 출력한다.
size : 스택에 들어있는 정수의 개수를 출력한다.
empty : 스택이 비어있으면 1, 아니면 0을 출력한다.
top : 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우엔 -1를 출력한다.
- 문제 9093 : 단어 뒤집기
- 풀이
- 설명
문장에서 공백이나 개행을 만나기 전까지 stack에 데이터를 담고, 공백이나 개행을 만났을 때 스택에서 데이터를 꺼내 버퍼에 담는다.
꺼낸 후 현재위치값(공백이나 개행)을 버퍼에 담는다.
=> 반복
- 문제 1157 : 단어공부
- 풀이
- 설명
문제를 풀 때 소문자 대문자가 중요하지 않기 때문에 모두 대문자로 변환한다.
알파벳 순으로 count 라는 26개짜리 배열을 만들고 임의로 0번은 A, 1번은 B .. 라는 식으로 정의한다.
=> 각각의 알파벳이 몇개 존재하는지를 알아야하기 때문.
이후 str에서 문자열을 꺼내와 M이라는 인덱스를 찾아 count를 증가시키면 된다.
'백준' 카테고리의 다른 글
7주차_백준 문제풀이 (0) | 2023.05.28 |
---|---|
6주차_백준 문제풀이 (0) | 2023.05.21 |
5주차_백준 문제풀이 (1) | 2023.05.14 |
4주차_백준 문제풀이 (0) | 2023.05.07 |
3주차_백준 문제풀이 (0) | 2023.04.30 |