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
반응형
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 소수찾기 / Python (0) | 2022.03.31 |
---|---|
Programmers / 약수의 개수와 덧셈 / Python (0) | 2022.03.31 |
Programmers / 나누어 떨어지는 숫자 배열 / Python (0) | 2022.03.29 |
Programmers / 제일 작은 수 제거하기/ Python (0) | 2022.03.29 |
Programmers / 자연수 뒤집어 배열로 만들기 / Python (0) | 2022.03.29 |