본문 바로가기
반응형

Stack2

[프로그래머스] 행렬 테두리 회전하기 Python Code 프로그래머스 행렬 테두리 회전하기를 파이썬으로 풀어보겠다. 이번 문제의 난이도는 레벨 2고 2021년 문제다. 예전 문제와 비교를 해보면 최신 문제가 확실히 약간 더 난이도가 있다. 문제 행렬의 일부분에서 테두리만 시계방향 회전시키는 문제이다. 회전시킬 때 가장 작은 값을 결과에 더해주면 된다. 구현 다른 방법은 생각나지 않았다. 정직하게 2차원 리스트를 생성하고 쿼리를 읽어서 그 리스트의 부분을 회전시키면서 min값을 찾도록 했다. 코드 import math def solution(rows, columns, queries): arr = [] for i in range(rows): temp=[] for j in range(columns): temp.append((j+1)+(i*columns)) arr.a.. 2022. 9. 1.
[프로그래머스] 짝지어 제거하기 Python Code 프로그래머스 짝지어 제거하기를 파이썬으로 풀어보겠다. 난이도는 레벨 2다. 문제 문자열에 연속된 부분을 다 지우는 것이다. 구현 처음에는 while로 구현하고 반복되는 문자가 나올 때마다 삭제하고 뒤로 돌아갈까 생각했지만 여러 번 지워질 때 성능이 좋지 않아서 다른 방법을 고민했다. stack구조로 구현하는 게 제일 쉽고 효율성이 잘 나올 거라고 판단해서 stack구조를 사용했다. 반복문으로 문자열을 돌면서 stack의 top값과 같으면 pop을 하고 아니면 insert를 하는 방식을 선택했다. 코드 def solution(s): temp = [] temp.append(s[0]) for c in s[1:]: if temp and temp[-1]==c: temp.pop() else: temp.append(.. 2022. 8. 31.
반응형