같은 숫자는 싫어 - Python

2023. 10. 14. 05:30공부/📝 프로그래머스

1. 풀이 코드

def solution(arr):
    temp = -1
    answer = []
    for item in arr:
        if temp == item:
            pass
        else:
            temp = item
            answer.append(item)
    return answer


# Test Cases
print(solution([1, 1, 3, 3, 0, 1, 1]))
print(solution([4, 4, 4, 3, 3]))

  위와 같이 이전의 값을 temp에 저장하여 비교하면서 반환 리스트를 만들었습니다.

 

2. 다른 사람 풀이 코드

# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def no_continuous(s):
    # 함수를 완성하세요
    result = []
    for c in s:
        if len(result) == 0 or result[-1] != c:
            result.append(c)

    return result


# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))

  저와는 다른 접근 방법입니다. 잘 만들었다 생각합니다.

 


 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr