#문제
https://programmers.co.kr/learn/courses/30/lessons/12973
#자바 풀이
import java.util.Stack;
class Solution
{
public static int solution(String s) {
int answer = 0;
Stack<Character> st = new Stack<>();
for (int i = 9; i < s.length(); i++) {
if(!st.empty() && st.peek()==s.charAt(i)) { st.pop();
}else { st.push(s.charAt(i)); }
}
if (st.empty()){return 1;}
return answer;
}
}
#느낀점
stack을 쓰는 문제다... 처음에 스택 쓸 생각 못하고 바보같이 동일한 문자 나열을 발견하면 그 앞과 뒤를 추출해 연결해주는 재귀함수 만들어서 풀었다.
그런데 역시나 효율성 오류... ㅋ(정답은 나오긴 하더라) 스택 쓰면 간단하게 풀리는 문제에 효율성오류가 안나올 리 없지... 블로그에 스택 정리까지 했는데도 ㅠ_ㅠ 흑흑 열심히 하자...!
'𝑪𝒐𝒅𝒊𝒏𝒈 𝑻𝒆𝒔𝒕' 카테고리의 다른 글
[프로그래머스] 소수 만들기 (0) | 2022.06.01 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.04.15 |
프로그래머스 - 주차 요금 계산 (0) | 2022.02.22 |
프로그래머스 - 기능 개발 (0) | 2022.02.16 |
프로그래머스 - 가장 큰 수 (0) | 2022.02.09 |