LeetCode 문제 풀이
[LeetCode] 20번 문제를 풀어보았다. (ft. java)
pantrom
2022. 3. 13. 11:16
2022년 03월 13일 일요일 - 왜 벌써 일요일?
오늘 올려볼 문제는 20번 Valid Parentheses 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
오늘은 문제가 너무 쉽다
입력
사진에서도 볼 수 있듯이 String 하나가 입력으로 들어온다.
풀이 및 코드
주어진 괄호들이 valid 한지 판단하여 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
괄호 문제들은 스택을 써서 푸는게 공식같은 것이므로 스택을 활용하여 이 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public boolean isValid(String input) {
Stack<Character> s = new Stack<Character>();
for(int i = 0; i < input.length(); i++)
{
char now = input.charAt(i);
if(now == '(')
{
s.push(++now);
}
else if(now == '{' || now == '[')
{
++now;
s.push(++now);
}
else
{
if(s.isEmpty())
return false;
if(s.peek() != now)
return false;
s.pop();
}
}
if(!s.isEmpty())
return false;
return true;
}
}
제출 화면
오늘 문제는 자료구조 배울 때 배우는 알고리즘 문제라서 너무 쉬웠다.
내일 문제는 좀 재밌는 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.