https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Stack을 사용하는 문제입니다.
문제푸는 방식입니다.
문제 접근 순서
1. Stack을 사용하여 진행할것
2. Stack에서 '(' 가 오면 push.
2.1 ')'가 온다면 pop 한뒤 pop한 것이 '('가 아니거나 stack에 값이 아무것도 없다면 바로 return false;
3. 마지막이 되었는데 아직도 stack값이 있다면 '('가 아직 남아있으므로 return false;
코드입니다.
import java.util.*; class Solution { Stack<Character> stack = new Stack<Character>(); boolean solution(String s) { boolean answer = true; for(int i=0;i<s.length();i++){ if(s.charAt(i) == '('){ stack.push(s.charAt(i)); }else if(s.charAt(i) == ')'){ if(stack.isEmpty()) return false; char temp = stack.pop(); if(temp =='('){ }else if(temp == ')'){ return false; } } } if(!stack.isEmpty()) return false; return answer; } }
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]타겟 넘버 - DFS (0) | 2023.02.07 |
---|---|
[프로그래머스]등굣길 - DP (0) | 2023.02.07 |
[프로그래머스]기능개발- 구현 (0) | 2023.02.02 |
[프로그래머스]베스트앨범 - 해쉬 + 우선순위큐 (0) | 2023.02.02 |
[프로그래머스][다시풀기]위장 - 해쉬 + 아이디어 (0) | 2023.02.01 |