Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

JAN's History

2주차_백준 문제풀이 본문

백준

2주차_백준 문제풀이

JANNNNNN 2023. 4. 9. 20:53

1. 문제 10828

2. 문제 9093

3. 문제 1157


  • 문제 10828 : 스택

  • 풀이 (Scanner + StringBuilder)

  • 설명

후입선출 LIFO

스택의 기본적인 원칙은 후입선출이다.

(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