[프로그래머스] 파이썬 2의 영역

ybk·2023년 9월 23일
0

프로그래머스

목록 보기
55/236

Lv.0 2의 영역

문제 설명

정수 배열 arr가 주어집니다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성해 주세요.
단, arr에 2가 없는 경우 [-1]을 return 합니다.

입출력

코드 풀이

def solution(arr):
    if 2 not in arr:
        return [-1]
    return arr[arr.index(2) : len(arr) - arr[::-1].index(2)]
  • arr.index(2) : 2가 배열에 존재하는 경우
  • arr[::-1].index(2) : 2가 배열을 뒤집었을 때의 첫 번째 등장하는 위치
    -> 즉, 이것은 2가 배열을 뒤집었을 때의 마지막 등장 위치
  • len(arr) - arr[::-1].index(2) : 배열의 전체 길이에서 뒤집었을 때의 마지막 등장 위치를 빼서 연속된 부분 배열의 끝 인덱스

출처: 프로그래머스 코딩테스트 연습

profile
개발자 준비생~

0개의 댓글