Day13 리스트(배열)

  • n번째 원소부터
  • 순서 바꾸기
  • 왼쪽 오른
  • n번째 원소까지
  • n개 간격의 원소

n번째 원소부터

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

def solution(num_list, n):    
    return num_list[n-1:]

3번째 원소면 2번째 인덱스부터 시작해야 하니 슬라이싱 n-1부터 끝까지


순서 바꾸기

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.
def solution(num_list, n):
    return num_list[n:] + num_list[:n]

슬라이싱할 때 n번째 원소, 인덱스 헷갈림 주의


왼쪽 오른쪽

문제 설명

문자열 리스트 str_list에는 "u", "d", "l", "r" 네 개의 문자열이 여러 개 저장되어 있습니다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l"이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스트를, 먼저 나오는 문자열이 "r"이라면 해당 문자열을 기준으로 오른쪽에 있는 문자열들을 순서대로 담은 리스트를 return하도록 solution 함수를 완성해주세요. "l"이나 "r"이 없다면 빈 리스트를 return합니다.

 

def solution(str_list):
    for i in range(len(str_list)):
        if str_list[i] == "l":
            return str_list[:i]
        elif str_list[i] == "r":
            return str_list[i+1:]

    return []

 

계속 65, 75점으로 실패하다가 코드 간단하게 수정했더니 이왜진 ...??

간단하게 생각해서

리스트에서 l이 있으면 그때의 인덱스 왼쪽 값 return

r이 있으면 그때 인덱스부터 오른쪽 값 return 

둘다 아니면 빈 배열 리턴 ㅎㅎ;

간단한 문제에서 시간 빼앗긴 기분이라 허무하다


n번째 원소까지

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

def solution(num_list, n):
    return num_list[:n]

n개 간격의 원소들

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

def solution(num_list, n):
    return num_list[::n]

파이썬아 고마워 .. 날먹하면서도 이게 맞는건지 싶음. ㅋㅋㅋ

ㅋㅋㅋㅋ 그냥 웃겨서 ...


빨리 기초 끝내고 난이도 올리고 싶다 !!

쉽다고 갑자기 어려운 문제 풀어버리면 꾸준히 못할 것 같아서

느리지만~ 천천히 한단계씩 올라가는 중

세번째 문제에서 헷갈려서 계속 반례 ...

근데 생각보다 너무 간단한 답이어서 허무 ..

그래두 해냈어요 오늘두 야호

 

+ Recent posts