본문 바로가기 메뉴 바로가기

구름을 채우다

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

구름을 채우다

검색하기 폼
  • 분류 전체보기 (81)
    • 내 이야기 (0)
    • 나만의 사진전 (2)
    • TIL (1)
    • 컴퓨터공학 (11)
      • 운영체제 (11)
    • 프로그래밍 언어 (3)
      • Java (3)
      • Python (0)
    • 알고리즘 (45)
      • 백준 (34)
      • 프로그래머스 (11)
    • Cloud Computing (13)
      • Openstack (10)
      • Docker (3)
      • Kubernetes (0)
    • Server Framework (1)
      • Django (1)
    • Books (5)
  • 방명록

DP (1)
[프로그래머스] 쇠막대기

문제 보기 이 문제는 스택/큐 문제이다. 문제를 해결하는데 스택이 사용되긴 했지만, 오히려 개념은 DP에 가까운 느낌이다. 문자열을 하나씩 읽을 때마다, 레이저를 만나게 되면 잘린 막대기가 몇 개인지 판단하였다. 문제를 푼 로직은 다음과 같다. 레이저는 "()"로 구분되므로, 더 쉬운 이해를 위해서 다른 문자 하나로 치환한다. (나의 경우 '.'로 치환했다.) 문자열을 읽으면서 '('를 만나면 막대기를 현재에서 한 개 더 올린다는 뜻이므로, '('를 만날 때마다 스택에 추가하고, 쇠막대기의 개수를 한 개 더한다. (7~9번째 줄) 문자열을 읽으면서 ')'를 만나면 젤 위의 막대기가 끝이 났다는 뜻이다. 그러므로 스택에 추가한 '('를 한 개 뺀다. (10~11번째 줄) '.'를 만나면 (=레이저를 만나면..

알고리즘/프로그래머스 2020. 1. 1. 19:34
이전 1 다음
이전 다음
링크
  • Github
공지사항
  • 환영합니다.
최근에 달린 댓글
Total
Today
Yesterday
TAG
  • 클린 코드
  • launchpad
  • 알고리즘
  • 프로그래머스
  • 백준
  • docker
  • gerrit
  • contribution
  • 파이썬 클린 코드
  • openstack
  • Bounded Buffer
  • 해쉬
  • bfs
  • 브루트포스
  • Deadlock
  • shared memory
  • 운영체제
  • 스택
  • contribute
  • 큐
  • 시뮬레이션
  • Synchronization
  • Message Passing
  • 덱
  • git
  • dfs
  • 파이썬
  • Java
  • Python
  • Clean Code
more

Blog is powered by Tistory / Designed by Tistory

티스토리툴바