[프로그래머스 / Level 1] 같은 숫자는 싫어 (파이썬)

2022. 4. 17. 15:43·🎲 알고리즘 공부/프로그래머스

📝 문제 요약

> 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다.

 

입출력 예시

 

https://programmers.co.kr/learn/courses/30/lessons/12906

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

 

 

🎨 풀이

💡 첫 번째 시도 = 성공

 

def solution(arr):
    num = arr[0]
    answer = []
    for i in arr :
        if i != num :
            answer.append(num)
            num = i
    answer.append(num)
    return answer

 

> 핵심은, num에 일단 수를 넣어준 후 뒤에꺼랑 겹치지 않으면 num을 append 해주고, num을 그 겹치지 않는 수로 바꾸는 것이다.

 

1. num에 arr[0]을 넣어준다. 

2. arr 배열을 for문 돌린다.

3. 만약 i가 num과 같지 않다면, (앞 뒤 숫자가 중복이 되지 않는다는 뜻이다) ex) [ 6 , 2 ]

 3-2. num을 answer에 append 해준다.

 3-3. 그 후, i를 num에 넣어준다. 

 3-4. 이 과정을 for문이 끝날 때까지 반복한다.

4. 맨 마지막 수는 append 해주지 못한 상황이다. 그래서 num을 마지막으로 append 한 후 리턴하면 끝난다. 

 

이렇게 하면, 수가 만약 겹쳤을 때 if i != num : 에서 걸러지기 때문에 num을 유지한 후 다음 숫자로 넘어간다. 그렇게 해서 중복이 제거가 되는 것이다. 

끝~

 

 

⭐ 느낀점

 

> 이 문제의 제목만 봤을 때는 set을 쓰면 되겠구나 했는데, 연속 숫자 제거더라. 혹시나 for문이 돌다가 런타임 에러 같은 게 뜨면 어떡하나 했는데, 다행히 level 1이라 그런지 괜찮았다. 아주 다행이었다.

'🎲 알고리즘 공부 > 프로그래머스' 카테고리의 다른 글

[프로그래머스 / Level 1] 두 정수 사이의 합 (파이썬)  (0) 2022.04.19
[프로그래머스 / Level 1] 나누어 떨어지는 숫자 배열 (파이썬)  (0) 2022.04.18
[프로그래머스 / Level 1] [1차] 다트 게임 (파이썬) 🎯  (1) 2022.04.16
[프로그래머스 / Level 1] 가운데 글자 가져오기 (파이썬)  (0) 2022.04.15
[프로그래머스 / Level 1] [1차] 비밀지도 (파이썬)  (0) 2022.04.15
'🎲 알고리즘 공부/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 / Level 1] 두 정수 사이의 합 (파이썬)
  • [프로그래머스 / Level 1] 나누어 떨어지는 숫자 배열 (파이썬)
  • [프로그래머스 / Level 1] [1차] 다트 게임 (파이썬) 🎯
  • [프로그래머스 / Level 1] 가운데 글자 가져오기 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (280)
      • 📑 신입일기 (35)
      • 🍪 Web (1)
        • angular (1)
        • JavaScript (0)
      • 🧩 Node.js 공부 (2)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 🎨 Tistory Customizing (1)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 📗 spring boot 공부 (9)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    코테
    티스토리챌린지
    컨텐더스
    50문답
    연습문제
    nodejs
    codeup
    코민이
    백준
    스프링부트
    피보나치수
    일기
    오버워치
    6월 목표
    프로그래머스
    til
    카카오
    BOJ
    코드업
    코린이
    스프링 부트
    찬양추천
    신입일기
    충무로
    행렬덧셈
    파이썬
    폰켓몬
    정처기
    정보처리기사
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[프로그래머스 / Level 1] 같은 숫자는 싫어 (파이썬)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.