def solution(numbers, direction):
    if direction == "right":
        numbers.insert(0, numbers[-1])  # 원하는 위치 앞에, 추가할 값을 삽입
        numbers.pop()  # pop 함수는 ()에 아무 값도 넣지 않으면 마지막 인덱스를 삭제
        return numbers
        
    else:
        numbers.append(numbers[0])  # 맨 마지막 위치로 첫 번째 숫자가 추가됨
        numbers.pop(0)  # 첫 번째 값이 삭제
        return numbers

🤔 문제 풀이

  • if direction == "right":
    • direction이 "right"일 때,
  • numbers.insert(0, numbers[-1])  # 원하는 위치 앞에, 추가할 값을 삽입
    • insert() 함수는 원하는 위치 앞에 number[-1]의 값을 삽입해주는 함수예요
    • 그래서, right 방향으로 갈 거니까, numbers에 끝자리에 있는 값을 첫 번째로 넣어줄게요
  • numbers.pop()  # pop 함수는 ()에 아무 값도 넣지 않으면 마지막 인덱스를 삭제
    • 그리고, pop() 함수를 써서 원래 numbers의 맨 뒤에 있었던 값을 삭제해줄게요
  • return numbers
    • 그러고 리턴해주면 right 조건은 완성이에요!
  • else:
    • direction이 "left"일 때
  • numbers.append(numbers[0])  # 맨 마지막 위치로 첫 번째 숫자가 추가됨
    • 먼저, numbers에 0번째 값을 numbers의 맨 뒷자리에 추가를 해줘요
  • numbers.pop(0)  # 첫 번째 값이 삭제
    • 그러고, numbers의 첫 번째 값을 삭제해주고
  • return numbers
    • 리턴을 해주면 문제 해결입니다!

list와 함께 쓰이는 함수 알아가기 

추가하는 함수들 

함수 설명 예시
.append() 덧붙인다는 뜻
()안에 값을 입력하면 새로운 요소를 맨 끝에 값 그대로 추가
>>> nums = [1, 2, 3]
>>> nums.append(
4)
# [
1, 2, 3, 4]

>>> nums.append([5, 6])
# [
1, 2, 3, 4, [5, 6]]

.extend() iterable한 자료형을 끝에 하나씩 추가
종류 : string, list, tuple, range(), set, dict
🔥 iterable형이 아니면 오류남
>>> nums = [1, 2, 3]
>>> nums.extend([
4, 5])
# [
1, 2, 3, 4, 5]

>>> a = [10]
>>> nums.extend(a)
# [
1, 2, 3, 4, 5, 10]

.insert(위치, 값) 원하는 위치 앞에 추가할 값을 삽입
위치 : 인덱스 숫자를 입력(음수면 배열 끝을 기준으로 함)
값 : 객체로 추가됨. iterable형이더라도 객체로 추가됨.
🔥 위치에 len()도 가능
>>> nums = [1, 2, 3]
>>> nums.insert(
0, [10, 20])
# [[10, 20], 1, 2, 3]

>>> nums.insert(-
1, 100)
>>> print(nums)
# [[
10, 20], 1, 2, 100, 3]

🔥
>>> nums = [1, 2, 3]
>>> nums.insert(len(nums),
100)
# [
1, 2, 3, 100]


 

삭제하는 함수들 

함수 설명 예시
.remove() 리스트 속 삭제할 특정 값을 입력하여 제거
🔥 동일한 값이 여러 개면, 첫 번째로 나오는 값을 삭제
>>> 수능 = ["국어", "수학", "영어"]
>>> 수능.remove("수학")
>>> print(수능)
# ["국어", "영어"]

🔥
>>> num = [0, 0, 1, 2]
>>> num.remove(0)
>>> print(num)
# [0, 1, 2]
.pop() 리스트 속, 삭제할 index 번호를 사용하여 값 삭제
() 안에 어떠한 숫자도 기입하지 않으면, 마지막 숫자 삭제
del과 비슷하지만, pop은 삭제한 값을 반환할 수 있음
>>> a = [1, 2, 1, 3, 4,  5, 1]
>>>removed = a.pop(1)
>>>print(a)
# [1, 1, 3, 4,  5, 1]

>>> print(removed)
# 2

>>> print(a[0])
# 1
del list[index] 리스트 속, 삭제할 index 번호를 사용하여 값 삭제
🔥[:]을 통해 슬라이싱도 가능
>>> 수능 = ["국어", "수학", "영어"]
>>> del 수능[1]
>>> print(수능)
# ["국어", "영어"]

🔥
>>> 수능 = ["국어", "수학", "영어"]
>>> 수능[0:1]
>>> print(수능)
# ["영어"]
.clear() 리스트의 모든 요소를 제거 >>> 수능 = ["국어", "수학", "영어"]
>>> 수능.clear()
>>> print(수능)
# []

 

+ Recent posts