[프로그래머스] 괄호 회전하기- 파이썬

2021. 10. 30. 18:52·코딩/프로그래머스 lv2

https://programmers.co.kr/learn/courses/30/lessons/76502?language=python3 

 

코딩테스트 연습 - 괄호 회전하기

 

programmers.co.kr

def solution(s):
    answer= 0
    #우선 리스트로 변경
    temp=list(s)
    #리스트의 길이만킅 for문을 돌려 리스트 회전 
    for _ in range(len(s)):
        stack = []
#         스택에 아무것도 없으면 괄호를 추가 같으면 제거
        for j in range(len(temp)):
            if len(stack) >0 :
                if stack[-1] == "(" and temp[j]==")":
                    stack.pop()
                elif stack[-1] =="[" and temp[j]=="]":
                    stack.pop()
                elif stack[-1] == "{" and temp[j]=="}":
                    stack.pop()
#                 만약에 마지막에 있는 문자가 다르면 추가    
                else:
                    stack.append(temp[j])
#             길이가 0이면 추가
            else:
                stack.append(temp[j])
#         for문 다 돌았는데 길이 0 이면 정답하나 추가
        if len(stack) == 0:
            answer+=1
#         첫번째꺼 맨뒤로 보내고 다시 위에꺼 반복
        temp.append(temp.pop(0))
                
    
    return answer

생각보다 낯설어서 오래 걸렸다.

스택의 원리를 생각하고 풀면 쉽게 풀 수 있다.

반응형

'코딩 > 프로그래머스 lv2' 카테고리의 다른 글

[프로그래머스] 짝지어 제거하기 - 파이썬  (0) 2021.10.30
[프로그래머스] 피로도 - 파이썬  (0) 2021.10.30
[프로그래머스] 거리두기 확인하기- 파이썬  (0) 2021.08.20
[프로그래머스] 괄호 변환 - 파이썬  (0) 2021.08.18
[프로그래머스] 프린터 -파이썬  (0) 2021.08.18
'코딩/프로그래머스 lv2' 카테고리의 다른 글
  • [프로그래머스] 짝지어 제거하기 - 파이썬
  • [프로그래머스] 피로도 - 파이썬
  • [프로그래머스] 거리두기 확인하기- 파이썬
  • [프로그래머스] 괄호 변환 - 파이썬
코딩 코딩 코오딩
코딩 코딩 코오딩
  • 코딩 코딩 코오딩
    코딩하는 누누
    코딩 코딩 코오딩
  • 전체
    오늘
    어제
    • 분류 전체보기 (491)
      • 생산성 (2)
        • 인텔리제이 (2)
      • 프로젝트 기록 (14)
        • git (2)
        • spring (3)
        • TestCode (2)
        • spring security (3)
        • 기타 (2)
        • MySQL (0)
        • Cloud (2)
      • 회고 (4)
      • Spring (6)
      • JPA (0)
      • DB (4)
        • MySql (2)
        • Redis (1)
      • Java (7)
        • JSP (1)
      • 잡담 (1)
      • CS (30)
        • 컴퓨팅 사고 (0)
        • 배열 (4)
        • 알고리즘 (8)
        • 메모리 (7)
        • 자료구조 (9)
        • 암호학 (2)
      • opencv (14)
      • AI (56)
        • 머신러닝 (2)
        • 딥러닝 (7)
        • tensorflow (3)
        • 머신러닝(딥러닝) 정리 (21)
        • 강화학습 (7)
        • 논문 읽기 (1)
        • 잡동사니 (1)
        • python AI (13)
        • 선형대수 (1)
        • 확률론 (0)
      • 알고리즘 공부 (177)
        • 그래프 이론 (0)
        • 다익스트라 (4)
        • 위상정렬 (3)
        • 신장트리-크루스칼 알고리즘 (4)
        • 플로이드 워셜 (3)
        • 이진탐색 (9)
        • 백트래킹 (11)
        • 부르드포스 (9)
        • 다이나믹 프로그래밍 (20)
        • BFS & DFS (24)
        • 그리디 (6)
        • 구현 (15)
        • 정렬 (3)
        • 기타 (62)
        • 수학? (1)
      • 코딩 (173)
        • 파이썬(python) (15)
        • c언어 (13)
        • 프로그래머스 lv1 (46)
        • 프로그래머스 lv2 (41)
        • 백준 - c++ (49)
        • Softeer (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    소수찾기
    캘리브레이션
    그리디
    C언어 기초
    순차 탐색
    코딩테스트
    DFS
    코딩문제
    스택
    정렬
    큐
    자료구조
    에라토슽네스의 체
    다이나믹 프로그래밍
    왜곡보정
    인접행렬
    BFS
    인접리스트
    프로그래머스
    코딩
    삽입 정렬
    알고리즘
    n진법 변환
    백준
    선택정렬
    if문
    c언어
    이미지처리
    코딩기초
    코딩기초스킬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩 코딩 코오딩
[프로그래머스] 괄호 회전하기- 파이썬
상단으로

티스토리툴바