새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/JavaScript

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

by 언호 2022. 5. 9.

📖 문제


🧑🏻‍💻 풀이 과정

1) 문제 접근 및 이해

인접한 두개의 문자가 동일한지 판별하여, 동일한 경우 두개를 제거하는 방식이였습니다.

인접한 두개의 문자를 비교하기 위하여 스택을 이용하였습니다.

2) 알고리즘

  • 스택

3) 풀이 코드

사용 언어 - JavaScript

function solution(s) {
    let stack = []                                  // 문자열 하나하나 저장할 스택
    
    Array.from(s).forEach(v => {                    // 문자열을 배열로 변경하여 알파벳 하나씩 반복
        if (stack.length === 0) {                   // 스택이 비어있으면, 문자 추가
            stack.push(v)
        } else if (stack[stack.length-1] === v) {   // 스택의 가장 최근 값이 현재 문자랑 동일하면, 짝지어서 제거 가능
            stack.pop()   
        } else {                                    // 스택의 가장 최근 값이랑 현재 값이랑 다르면, 스택에 현재 값 추가
            stack.push(v)
        }
    })
    
    return stack.length === 0 ? 1 : 0       // 스택이 비어 있으면, 모두 제거되었으므로 1 반환, 그렇지 않으면 0 반환
}

🔗 문제 링크

- https://programmers.co.kr/learn/courses/30/lessons/12973?language=javascript 

 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

댓글