Input으로 주어진 리스트의 첫번째와 마지막 element의 값을 더한 값을 리턴 해주세요.
만일 리스트가 비어있다면 0이 리턴되어야 합니다.
리스트의 총 길이가 1이라면 그 하나의 요소 값만 리턴해주면 됩니다.
예를 들어, 다음의 리스트가 주어졌다면:
inputs = [1, 2, 3, 4, 5]
다음과 같은 결과물이 출력 되어야 합니다.
6
만일 다음의 리스트가 주어졌다면:
inputs = [1]
다음과 같은 결과물이 출력 되어야 합니다.
1
Hint: list의 총길이는 다음처럼 len 함수를 사용해서 알아낼 수 있습니다.
length = len(inputs)
def add_first_and_last_elements(my_list):
# 이 함수를 구현해주세요
if len(my_list) == 0:
return 0
elif len(my_list) ==1:
return my_list[0]
else:
return my_list[0]+my_list[-1]
또는
def add_first_and_last_elements(my_list):
# 이 함수를 구현해주세요
if len(my_list) == 0:
return 0
if len(my_list) ==1:
return my_list[0]
return my_list[0]+my_list[-1]
처음에는 인풋으로 주어진 리스트를 알 수가 없어서 먼저 정의해줘야한다고 생각했다. 그런데 정의를 해주면 문제에 나와있는 조건들을 만족시킬 수 없고 그렇다고 빈 리스트를 애초에 설정해놓으면 0이라는 같은 값만 리턴된다. 리스트 자체보다는 우선 모르기때문에 리스트의 길이를 아는 것에 더 초점을 맞춘다.
우선 if문으로 문제에 나와있는 조건들을 작성한다. 먼저 리스트가 비어있는 경우, 리스트의 길이는 0이 되고 문제에 나와있듯 0이 리턴되어야 한다. 리스트의 길이가 1일 경우에는 하나의 요소만 리턴되기 때문에 리스트에 첫번째 값인 my_list[0] 을 리턴해줘야한다. 마지막으로 그 외에 값들은 리스트의 첫번째 값과 마지막 값인 my_list[-1] 을 더해주는 문장을 작성해주면 된다.
답이 두가지 경우로 썼는데 elif 와 if을 쓰는 경우이다. 결과는 같지만 어차피 마지막 리턴값은 조건을 굳이 써주지 않아도 되기 때문에 두번째 답안과 같이 작성할 수 있다.