문제 분석
- list1과 list2 합치기
- 합친 후, 첫 element과 마지막 element 바꾸기
- 둘 다 빈 리스트가 주어진 경우 신경쓰기
내가 내놓은 답안
def merge_and_swap(list1, list2):
new_list = list1 + list2
if len(new_list)==1:
return new_list
elif len(new_list)>1:
a = new_list[0]
b = new_list[len(new_list)-1]
new_list[0] = b
new_list[len(new_list)-1] = a
return new_list
else:
return []
나쁘지 않은 답이었는데, 모델 앤써가 더욱 간결하여 정리한다
def merge_and_swap(list1, list2):
list1 = list1 + list2
length = len(list1)
if length > 1:
first = list1[0]
last = list1[length - 1]
list1[0] = last
list1[length - 1] = first
return list1
else:
return list1
Model Answer:
1. 리스트의 길이를 len() 이용하여 변수 length에 저장
2. list1과 list2를 합친 리스트에 새로운 이름 주지 않고 list1에 저장
3. if문: length가 2이상인(1 초과) 경우와, 그렇지 않은 경우 둘로 이분
'변수'란 결국 계속해서 변화할 수 있기에 새로운 이름으로 값을 저장하지 않고 있는 변수에 덮어씌워 사용하는 방법도 참 좋은 방법 같다.