level1_같은 숫자는 싫어

2024. 8. 12. 21:50파이썬_알고리즘(코딩테스트)/level1

 

내가 제출한 코드

def solution(arr):
    answer = []
    for idx, item in enumerate(arr):
        if idx == 0 or item != arr[idx -1]:
        	answer.append(item)
    return answer
  • for idx, item in enumerate(arr)
    • 배열 arr의 요소들을 하나씩 순서대로 순회한다. 여기서 idx는 현재 요소의 인덱스, item은 현재 요소를 나타낸다.
  • if idx == 0 or item != arr[idx - 1]
    • 첫 번째 요소이거나, 현재 요소가 이전 요소와 다를 경우
    • answer리스트에 item를 추가한다. 
  • 최종적으로 증복된 요소가 제거된 리스트 answer을 반환한다. 

 

다른 사람이 재출한 코드 

def no_continuous(s):
    a = []
    for i in s:
        if a[-1:] == [i]:
            continue
        a.append(i)
    return a
  • if a[-1:] == [i]
    • 현재 리스트 a의 마지막 요소가 현재 요소 i와 같다면 continue를 통해 append 구문을 건너뛴다.
    • 이 조건에 해당하지 않는다면 현재 요소 i를 리스트 a에 추가한다.

'파이썬_알고리즘(코딩테스트) > level1' 카테고리의 다른 글

level1_명예의 전당(1)  (4) 2024.11.14
level1_콜라문제  (1) 2024.11.11
level1_문자열 내 마음대로 정렬하기  (0) 2024.08.11
level1_푸드 파이트 대회  (1) 2024.08.11
level1_K번째수  (0) 2024.07.01