[알고리즘] 짝지어 제거하기

2023. 9. 16. 14:58·알고리즘
반응형

문제 설명

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다.

예를 들어, 문자열 S = baabaa 라면

b aa baa → bb aa → aa →

의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다.

제한 사항

  • 문자열의 길이 : 1,000,000이하의 자연수
  • 문자열은 모두 소문자로 이루어져 있습니다.

입출력 예

baabaa 1
cdcd 0

입출력 예 설명

입출력 예 #1
위의 예시와 같습니다.
입출력 예 #2
문자열이 남아있지만 짝지어 제거할 수 있는 문자열이 더 이상 존재하지 않기 때문에 0을 반환합니다.

나의 풀이

function solution(s)
{
    const stack = []

    for(let i = 0; i < s.length; i++) {
        const char = s[i];
        
        if(char === stack[stack.length -1]) {
            stack.pop();
        } else {
            stack.push(s[i]);   
        }     
    }
    
    
    
    return stack.length === 0 ? 1 : 0;
}

어디서 본 것 같은 문제다....

 

절때 어플 개발이 스트레스 받아서 푼게 아니다....

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[알고리즘] 삼각 달팽이  (0) 2023.09.19
[알고리즘] 영어 끝말잇기  (0) 2023.09.17
[알고리즘] 별 찍기  (0) 2023.09.08
[알고리즘] 최대공약수와 최소공배수  (0) 2023.08.12
[알고리즘] 소수 찾기  (0) 2023.08.09
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 삼각 달팽이
  • [알고리즘] 영어 끝말잇기
  • [알고리즘] 별 찍기
  • [알고리즘] 최대공약수와 최소공배수
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    다이소
    영어회화
    덤프
    리얼학습일기
    네이버 부스트캠프
    타입스크립트
    리얼클래스
    영어독학
    식물
    바질 키우기
    typescript
    redux
    바질
    프로그래머스
    javascript
    CSS
    CCNA
    Node.js
    webpack
    ReactNative
    ChatGPT
    Babel
    리액트
    react
    Docker
    자바스크립트
    next.js
    알고리즘
    타일러영어
    네트워크
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 짝지어 제거하기
상단으로

티스토리툴바