새소식

코딩테스트/프로그래머스

[Swift] 짝지어 제거하기

  • -

[문제]

코딩테스트 연습 - 짝지어 제거하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 풀이]

스택의 성질을 사용하여 풀자.

만일 반복문을 통해 2개가 연속적으로 나오는게 없어질때까지 돌린다면 100만번을 99만번 돌릴지도 모르고 해당 문제는 시간 초과로 이어질 것이다.

그렇기에 스택을 사용해서 처음부터 끝까지 가면서 마지막에 넣어진 문자와 같다면 없애고 마지막에 해당 스택에 아무것도 없다면 1 있다면 0을 출력하자.

[회고]

.

[코드]

import Foundation

func solution(_ s:String) -> Int{
    var answer:Int = 1
    
    //모두 제거한다면 1 아니라면 0을 출력하자.
    //스택을 사용하자
    
    var arr = [Character]()
    
    for i in s {
        if(arr.count > 0 && arr.last == i){
            arr.removeLast()
            continue
        }
        arr.append(i)
    }
    
    if(arr.count > 0){
        answer = 0
    }

    return answer
}

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[C++] 귤 고르기  (2) 2023.11.18
[Swift] 피보나치 수  (0) 2023.11.16
[Swift] 다음 큰 숫자  (0) 2023.11.16
[C++] 다음 큰 숫자  (0) 2023.11.14
[Swift] 로또의 최고 순위와 최저 순위  (0) 2023.09.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.