[프로그래머스 Lv.1] 같은 숫자는 싫어

2025. 1. 21. 21:50 · Algorithm/코딩 테스트

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=python3 


from collections import deque

def solution(arr):
	
	queue = deque() # 큐 생성 및 초기화 : 비어있는 상태 [O(1)]
    
    for num in arr: # 배열에서 num 갯수만큼 반복
		# 해당 생태일 때 큐에 넣는다.
		# 1. not queue : 큐가 비어 있는 경우
		# 2. queue[-1] != num : 새로 들어가는 숫자가 queue의 마지막 숫자랑 같지 않을 때 (같을때는 넣으면 안됌)
		if not queue or queue[-1] != num:
			queue.append(num)

	return list(queue)

 

queue = deque()

  • Python의 deque를 사용해 큐를 생성한다.
  • deque는 양쪽 끝에서 삽입 및 삭제를 O(1)로 지원하는 자료구조이다.
  • 초기에는 비어 있는 상태이며, 초기화를 하는 코드이기도 하다.

not queue:

파이썬에서 조건문으로, queue가 비어 있을 때 참(True)이 되는 조건을 의미한다.

여기서 queue는 리스트, 큐, 또는 다른 컬렉션 자료형일 수 있다.

 

즉, queue가 비어 있다면 (queue의 길이가 0일 경우) not queue는 True가 되어 조건문이 실행된다.


queue[-1] != num

  • queue[-1]은 큐의 마지막 숫자를 의미한다.
  • 현재 숫자 num이 큐의 마지막 숫자와 다를 때만 큐에 추가한다.

return list(queue)

  • 최종적으로 큐에 저장된 값들을 리스트로 변환하여 반환합니다.
  • deque는 반환 시 리스트 형식이 아니므로 list()를 사용하여 변환합니다. 
    * 문제에서 리스트 형식으로 반환해야한다 명시되어 있음.

 

728x90

'Algorithm > 코딩 테스트' 카테고리의 다른 글

그리디 코테 파이썬 문제  (1) 2025.01.26
[프로그래머스 Lv.1] 없는 숫자 더하기  (0) 2025.01.20
'Algorithm/코딩 테스트' 카테고리의 다른 글
  • 그리디 코테 파이썬 문제
  • [프로그래머스 Lv.1] 없는 숫자 더하기
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
        • 기계 학습 기반의 데이터 공학
      • Projects
        • Auto Post : SNS 자동 업로더
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 취업(인턴)
        • 취준 인턴
        • LG Aimers
        • OUTTA
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
        • 대외활동 (IT)
        • 대외활동 (그 외)
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    주석
    파이썬{}
    티스토리챌린지
    javascript
    빅데이터분석
    dbms
    react
    자료형
    취업
    importturtle
    jsx
    파이썬
    이름나이
    BDA학회
    Py
    파이썬 챗봇 만들기
    리액트
    대외활동
    취업준비
    js
    sql
    input
    python
    AI역량검사
    대학생학회
    print(f"")
    자바스크립트
    오블완
    Oracle
    오라클SQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
[프로그래머스 Lv.1] 같은 숫자는 싫어
상단으로

티스토리툴바