CODINGTEST_짝지어 제거하기

코넬·2023년 5월 14일
0

CodingTest_PCCE

목록 보기
13/17
post-thumbnail

갑자기~ 난이도가 쬼 올라간 문제 풀이 도전 😎


  • 문제 설명 그대로 코드를 구현하면 되는 문제였다 !
  • 같은 알파벳이 2개 붙어 있는 짝을 찾고, 제거 후 - 이어붙이기 과정까지 코드를
    조건문 으로 작성한다.
  • 과정을 반복해 모두 제거 됐는지 안됐는지에 대한 코드를 조건문 으로 작성한다.
  • 이어붙이기는 append() 함수, 제거하는 것은 pop() 함수를 사용한다!

이번 문제에서 중요하게 봐야하는 것은 입출력 예 ! 항상 코테 풀 때는 주의해서 봐야하는 구간이지만,, 이번에는 문제가 이해 안간다면 예가 매우 유용하게 작용할 것이다!

  • for in문변수에다가 배열이 가진 인덱스 값을 하나하나 실행문을 실행하면서 반복적으로 넣어주는 과정을 진행해준다.
  • len(answer)==0 은 처음 len(answer) 값은 짝지어 제거하기가 처음 시작되는 상태이므로 append()로 i를 이어 붙이고, 이제 처음 수행 지난 턴부터는 처번째 루프의 else를 수행한다.
  • else 안에서 문제 설명의 첫 턴을 진행하는데, 붙어있는 짝 제거 - 혹은 append()로 붙여넣기를 진행해서 첫번째 과정을 해결한다.
  • 이렇게 짝 제거하기 결과값을 계속해서 매턴마다 확인하는데, len(answer)의 길이가 0이라면 성공적으로 문자열 모두 ! 제거하는 경우이므로 1 반환 !
  • 아직 제거하기가 끝나지 않았다 한다면 answer ==0 을 반환하며 최종 결과를 내주면 된다.

코드는 다음과 같다 !
def solution(s):
    answer = []
    for i in s:
        if len(answer)==0:
            answer.append(i)
        else:
            if answer[-1] == i:
                answer.pop(-1)
            else:
                answer.append(i)
    if len(answer)==0:
        answer = 1
    else:
        answer = 0
    return answer

코테 - 짝지어 제거하기 나두 풀어볼래 !

profile
어서오세요.

0개의 댓글