프로그래머스_짝지어 제거하기

LeeYulhee·2023년 9월 12일
0

💻 문제 출처 : 프로그래머스_짝지어 제거하기

👉 내가 작성한 답


class Solution { 
    public int solution(int n) {        
        int answer = 1;
        int answerBefore = 0;

        for(int i = 2; i <= n; i++) {
            int temp = answer;
            answer = (answer + answerBefore) % 1234567;
            answerBefore = temp;
        }

        return answer;

    }
}
  • 📌 접근 방식
    • Stack에 s의 요소를 하나씩 넣으면서 마지막 값과 현재 넣을 예정인 값이 같으면 마지막 값을 빼고, 다르면 계속 넣음
  • 📌 문제 풀이 설명
    • Character를 요소로 갖는 Stack 생성
      • String의 요소를 순회하려면 char로 받아와야 하기 때문
    • 향상된 for문으로 s의 요소를 순회
      • 만약 stack이 비어 있지 않고, stack에 마지막 값이 c와 같다면
        • stack에서 마지막 값을 제거
      • 그게 아니라면
        • stack에 c를 넣음
    • for문 종료 후 stack이 비어 있다면 return 1
    • 위 과정이 끝나면 return 0
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글