개발공부/algorithm

[백준][python] 4889 안정적인 문자열 - Greedy

2021. 4. 25. 15:22

  • 백준 4889: 안정적인 문자열 Silver I
  • 문제링크
 

4889번: 안정적인 문자열

입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우

www.acmicpc.net

나의 접근

  1. '{' 인 경우에는 stack에 추가해준다.
  2. '}' 인 경우에는
    1. stack이 비어있을 경우, '{'로 바꾸어서 stack에 추가해준 후 count를 추가한다.
    2. stack이 비어있지 않을 경우, 가장 상위의 원소를 pop 해준다.
  3. stack에 남아있는 원소들의 개수를 2로 나누어 주면 해당 스택이 안정적인 문자열이 되기 위해 필요한 작업의 최소 수를 알아낼 수 있다.
  4. 최종적으로 len(stack) // 2 + count 해주면 된다.
tc = 0
while True:
    stack = []
    tc += 1
    s = list(input())
    if '-' in s:
        break

    count = 0

    for i in range(len(s)):
        if s[i] == '{':					#1
            stack.append(s[i])

        elif s[i] == '}':				
            if len(stack) == 0:			# 2.1
                stack.append('{')
                count += 1
            else:						# 2.2
                stack.pop()
    
    print('{}. {}'.format(tc, len(stack) // 2 + count))	# 3
저작자표시 (새창열림)

'개발공부 > algorithm' 카테고리의 다른 글

[Leetcode][python] 733: flood fill - bfs  (0) 2021.04.25
[Leetcode][python] 690 - Employee importance - DFS  (0) 2021.04.25
[백준][python] 1946 신입사원 - Greedy  (0) 2021.04.21
[프로그래머스][python] 전화번호 목록  (0) 2021.04.17
[프로그래머스][python] 위장 - Hash  (0) 2021.04.17
'개발공부/algorithm' 카테고리의 다른 글
  • [Leetcode][python] 733: flood fill - bfs
  • [Leetcode][python] 690 - Employee importance - DFS
  • [백준][python] 1946 신입사원 - Greedy
  • [프로그래머스][python] 전화번호 목록
so.py
so.py
실리콘 밸리에서 개발자로 살아남기 🌉 미국 유학생의 취준, 개발 공부 여정을 담습니다. #빅테크 #SW #샌프란
so.py
so.py
so.py
전체
오늘
어제
  • All (108)
    • Insights (9)
      • 미국 근무 일지 (3)
      • 국내 취업 일지 (4)
      • 휴학 일지 (1)
    • 개발공부 (87)
      • 개발 (11)
      • algorithm (76)
    • Data Science (9)
      • ML&AI (7)
      • etc (1)
    • Projects (3)
    • daily (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • tree
  • 알고리즘
  • nlp
  • 네이버코테
  • queue
  • DP
  • d2
  • Baekjoon
  • 파이썬
  • SWEA
  • dynamicprogramming
  • 백준
  • binarysearch
  • 코딩테스트
  • Stack
  • leetcode
  • dfs
  • 네이버nlp인턴
  • bfs
  • twopointer
  • greedy
  • string
  • BERT
  • BOJ
  • Algorithm
  • recursion
  • Python
  • 리트코드
  • programmers
  • kmeans

최근 댓글

최근 글

hELLO · Designed By 정상우.
so.py
[백준][python] 4889 안정적인 문자열 - Greedy
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.