coding test - python/Programmers

Programmers / 같은 숫자는 싫어 / Python

sillon 2022. 3. 30. 22:04
728x90
반응형

*문제 출처는 프로그래머스에 있습니다.

문제 제목: 같은 숫자는 싫어

문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12906


나의 풀이

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

for 문을 돌면서 앞 뒤 문자를비교하는 조건문을 사용하는 것이 좋다.

이 문제를 응용한 다른 문제도 많으니 참고할 것

기본기가 되는 좋은 문제

 

다른 풀이 1

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

 

다른 풀이 2

def no_continuous(s):
    a = []
    for i in s:
        if a[-1:] == [i]: continue
        a.append(i)
    return a

[-1]을 통해 비교하면 empty array일 때 인덱싱오류가나서 [-1:]를 통해 리스트를 만들어 비교한다.


※ 알아야 할 것

- [-1]을 통해 비교하면 empty array일 때 인덱싱오류가나서 [-1:]를 통해 리스트를 만들어 비교한다.

 

728x90
반응형