hyeon.s
개발로그
hyeon.s
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • Web 및 인프라 (1)
      • Web (1)
      • Terraform (2)
      • Docker (1)
    • Android (1)
      • 공부 (28)
      • 트러블슈팅 (12)
      • 프로젝트 개발 (10)
      • Compose (2)
      • 우테코 프리코스 (0)
    • Server (6)
      • 공부 (1)
      • Spring (5)
    • 알고리즘 (68)
      • 문제풀이 (C++,Kotlin) (54)
      • 공부 (13)
    • 디자인 (3)
      • UI (3)
    • Language (5)
      • Kotlin (5)
      • JAVA (0)
    • IT 동아리 (8)
      • UMC 3기 (Android) (7)
      • Sopt 32기 (Android) (1)

Github

글쓰기 / 관리자
hELLO · Designed By 정상우.
hyeon.s

개발로그

[바킹독 알고리즘] 0x08강:스택의 활용(수식의 괄호 쌍)
알고리즘/공부

[바킹독 알고리즘] 0x08강:스택의 활용(수식의 괄호 쌍)

2023. 1. 9. 20:45
728x90

수식의 괄호쌍이란?

주어진 괄호, 문자열이 올바른지 아닌지 판단하는 문제이다.

첫번째 예시의 괄호쌍만 본다면 {()} 로 올바른 괄호쌍이지만, 두번째는 {(})로 올바르지 않은 괄호쌍이다.

문제 해결을 위한 관찰

괄호쌍들이 잘 짝을 이루었는지를 판단하려면

" 문자열을 앞에서부터 읽어나갈 때, 닫는 괄호는 남아있는 괄호 중에서 가장 최근에 들어온 여는 괄호와 짝을 지어 없애버리는 명령이라 생각해도 된다."  (대박 이렇게 생각하면 stack으로 문제를 풀 수 있는거같다.)

문제 해결방법

위 방법을 문제에 활용해 stack에 적용하면 문제를 해결할 수 있다.

결론적으로 stack의 empty() 여부로 올바른 짝인지 아닌지 확인 할 수 있다.!!

문제현황

연습 문제 ✔ 4949 균형잡힌 세상 정답 코드
기본 문제 ✔ 3986 좋은 단어 정답 코드
기본 문제 ✔ 9012 괄호 정답 코드
응용 문제 10799 쇠막대기 정답 코드
응용 문제 2504 괄호의 값 정답 코드

 

728x90
저작자표시 (새창열림)

'알고리즘 > 공부' 카테고리의 다른 글

[알고리즘] 이진탐색 알고리즘 (Binary Search)  (0) 2023.01.18
[바킹독 알고리즘] 0x09강:BFS in 다차원 배열  (0) 2023.01.12
[바킹독 알고리즘] 0x07강:Deque  (1) 2023.01.06
[바킹독 알고리즘] 0x06강:Queue  (0) 2023.01.04
[바킹독 알고리즘] 0x05강:Stack  (1) 2022.12.27
'알고리즘/공부' 카테고리의 다른 글
  • [알고리즘] 이진탐색 알고리즘 (Binary Search)
  • [바킹독 알고리즘] 0x09강:BFS in 다차원 배열
  • [바킹독 알고리즘] 0x07강:Deque
  • [바킹독 알고리즘] 0x06강:Queue
hyeon.s
hyeon.s
이유있는 코드를 짜자

티스토리툴바