프로그래머스_같은 숫자는 싫어

임정민·2022년 11월 26일
2

알고리즘 문제풀이

목록 보기
3/173
post-thumbnail

코딩테스트 연습 스터디 진행중 입니다. ✍✍✍
Notion : https://www.notion.so/1c911ca6572e4513bd8ed091aa508d67

문제

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

풀이

[나의 풀이]

def solution(arr):
    answer = []
    
    tmp = [-1] # len(tmp)를 나타내기 위한 의미없는 원소 추가
    
    for i in range(len(arr)):
        if arr[i] == tmp[len(tmp)-1]: # tmp에 이미 존재하는 원소는 넘기기
            continue
        tmp.append(arr[i]) # 중복되지 않는 원소 추가
        
    tmp.remove(-1) # 의미없는 원소 제거
    
    answer = tmp
    
    return answer

[팀원의 풀이1]

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

[팀원의 풀이2]

def solution(arr):
	return [arr[i] for i in range(len(arr)) if arr[i:i+1] != arr[i+1:i+2]]

메모

  1. pass vs continue
  2. 슬라이싱으로 구간을 나누어서 비교할 수 있다.
 arr[i:i+1] != arr[i+1:i+2]

감사합니다.🐸🐸🐸

profile
https://github.com/min731

0개의 댓글