2022년 05월 01일 일요일 - 오랜만에 글쓰는 느낌인데..
오늘 올려볼 문제는 844번 Backspace String Compare 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
아니 요즘 미디엄도 너무 어려워
입력
사진에서도 볼 수 있듯이 String 2개가 입력으로 들어온다.
풀이 및 코드
#을 백스페이스로 봤을 때 두 문자열이 같은지 판단하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
Stack에 문자들을 저장하면서 #이 나오면 Stack에서 저장한 문자를 pop하는 방식으로 구현했다.
이제 코드를 봐보자!
풀이코드
class Solution {
public boolean backspaceCompare(String s, String t) {
Stack<Character> s1 = new Stack<Character>();
Stack<Character> s2 = new Stack<Character>();
for(int i = 0; i < s.length(); i++)
{
if(s.charAt(i) != '#')
{
s1.push(s.charAt(i));
}
else
{
if(!s1.isEmpty())
s1.pop();
}
}
for(int i = 0; i < t.length(); i++)
{
if(t.charAt(i) != '#')
{
s2.push(t.charAt(i));
}
else
{
if(!s2.isEmpty())
s2.pop();
}
}
while(!s1.isEmpty() && !s2.isEmpty()) if(s1.pop() != s2.pop()) return false;
if(!s1.isEmpty() || !s2.isEmpty()) return false;
return true;
}
}
제출 화면
최근에 미디엄 문제도 어려워서 블로그를 많이 못 썼는데 오늘은 쉬운 문제가 나와서 쓸 수 있어 다행인거 같다.
내일은 미디엄 문제도 올릴 수 있게 잘 풀었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 581번 문제를 풀어보았다. (ft. java) (0) | 2022.05.03 |
---|---|
[LeetCode] 905번 문제를 풀어보았다. (ft. java) (0) | 2022.05.02 |
[LeetCode] 785번 문제를 풀어보았다. (ft. java) (0) | 2022.04.30 |
[LeetCode] 1584번 문제를 풀어보았다. (ft. java) (0) | 2022.04.26 |
[LeetCode] 284번 문제를 풀어보았다. (ft. java) (0) | 2022.04.25 |