[99클럽 코테 스터디 2기][Python/비기너] 세번째 문제 : 같은 숫자는 싫어

최민지·2024년 5월 22일
0
post-thumbnail

99클럽 스터디 세번째 문제!
오늘의 주제는 스택/큐

<같은 숫자는 싫어>

문제

입력과 출력

코드

def solution(arr):
    answer=[]
    for i in range(0,len(arr)-1):
        if arr[i]!=arr[i+1]:
            answer.append(arr[i])
            
    answer.append(arr[-1])
            
    return answer

알고리즘
먼저, arr의 배열을 자기 다음 위치의 원소와 비교한다.
연속된 숫자를 제거해야하는 것이 목적.
다음 위치의 원소와 수가 다르면-> 수가 연속되지 않았으므로-> 현재 위치의 원소를 answer에 넣는다.
for문의 마지막-> 현재원소와 마지막 원소 비교-> 수가 다르면 끝에서 두번째 원소가 담기므로
마지막 원소를 추가하기 위해 arr[-1] 을 answer에 넣는 구문도 추가해준다.

처음에는 첫번째 문제에서 썼던 set을 시도했었다!
그러나 set은 중복제거만 하고 순서는 유지되지않아 조건을 만족하지 못했다.

두번째는 서칭을 통해 dict.fromkeys를 시도했다.
이는 순서를 지켜주지만 나는 중복 수를 모두 제거하면 안되고 연속된 수를 제거해야하기 때문에 적합하지 않았다.

그래서 배열 비교를 시도하던중 위 코드와 같은 답이 나왔고, 이거다 싶었을 때 정말 성공했다!

이번문제를 풀면서는 특히 뿌듯했는데, 지금까지 문제중에 온전히 내 힘으로 푼 문제였기 때문이다!!
별거아니여 보일지 몰라도 나는 나 스스로 성장했다고 생각했다 ㅎㅎ
더 열심히 하고싶은 의욕이 불타올랐다..!!는거 ㅎ

Something new I learned ?
오늘은 새로운 걸 학습했다기 보다, 지금까지 푼 두문제에서 학습했던 부분들을 사용해서 문제를 풀 수 있었다는 점이 의미있다고 생각한다.!

To do List

  • 스택/큐 관련 함수와 알고리즘 복습
profile
공부..일기....

0개의 댓글