반응형
https://www.acmicpc.net/problem/9935
문자열 폭발 문제
스택을 활용하여 입력받은 문자열의 겹치는 부분을 제거하는 코드를 작성하는 문제
100% 내 생각으로 풀었는가 ?
→ O
스택만 잘 사용할줄 알면 생각보다 쉽게 풀린 문제!
내가 푼 정답코드
import sys
x = list(sys.stdin.readline().strip())
M = list(sys.stdin.readline().strip())
m = len(M)
stack = []
for i in x:
stack.append(i)
if stack[len(stack)-m:len(stack)] == M: #스택의 끝부터 M의 글자열 크기까지 자른게 M과 같다면
for _ in range(m): # m의 길이만큼
stack.pop() # stack에서 꺼내준다!
if stack:
print(*stack, sep='')
else:
print("FRULA")
이게 난이도 골드 4급에 해당하는 문제까진 아닌거 같고, 문제에 주어진 조건 그대로~ 가져다 쓰면 바로 구현에 쉽게 성공한다
반응형
느낀점
골드 수준의 문제를 하나 둘 접하기 시작하면서 느낀 점은 정말 쉬운건 쉽고 정말 어려운건(특히 dp) 손도 못댈 정도로 어려운거 같다. 특히 스택 부분은 그나마 개념이 매우 간단해서 그런가 조금만 생각해내면 쉽게 해결 할 수 있기에 백준 점수 올리기 좋은 문제(?)라고 생각한다
스택의 기본 개념은 이해해서 하나 둘씩 백준를 풀어보고 있지만, 이 문제는 간단했지만, 다른 문제들은 아직 아이디어 떠올리는 거에 어려움이 있다.
골드로 올라온 만큼 더욱 여러 관점에서 생각할 수 있게 다른 사람들의 코드도 계속해서 참고하고 발전하도록 노력해야겠다. 😶😶
반응형
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준 1300] K번째 수 (python) (0) | 2023.02.22 |
---|---|
[백준 11866] 요세푸스 문제 0 (python) (0) | 2023.02.21 |
[백준 1874] 스택 수열 (python) (0) | 2023.02.12 |
[백준 17070] 파이프 옮기기1 (python) (0) | 2023.02.12 |
[백준 1932] 정수 삼각형(python) (0) | 2023.02.07 |
댓글