<aside>
💬 lv0
, 자료 구조
링크드 리스트가 주어졌을 때, 중간 노드의 값을 반환하는 함수를 작성해주세요. 만약 링크드 리스트의 길이가 짝수라면, 두 중간 노드 중 두 번째 노드를 반환해야 합니다.
입력 (링크드 리스트) | 출력 (중간 노드의 값) |
---|---|
[1, 2, 3, 4, 5] | 3 |
[1, 2, 3, 4] | 3 |
[7, 10, 13] | 10 |
주어진 링크드 리스트에서 중간에 위치한 노드의 값을 반환합니다. 링크드 리스트 [1, 2, 3, 4, 5]의 경우, 중간 노드는 값이 3인 노드이므로 3을 반환합니다.
</aside>
def solution(nums): **#1 함수 정의**
mid_index = len(nums) // 2 **#2 중간 인덱스 계산**
**#3 결과 반환**
if len(nums) % 2 == 0:
return nums[mid_index]
else:
return nums[mid_index]
함수 정의
코드의 첫 부분에서 solution
이라는 함수를 정의합니다. 이 함수는 하나의 인자 nums
를 받습니다. nums
는 링크드 리스트입니다.
중간 인덱스 계산
nums
의 길이를 2로 나누어 mid_index
변수에 저장합니다.
결과 반환
nums
의 길이가 짝수인 경우와 홀수인 경우로 나누어 중간 노드를 반환합니다.
len() 함수
기본 형태: len(data)
개념: 데이터의 길이나 요소의 개수를 반환하는 내장 함수입니다.
# len() 함수 사용
len("abc") # 3
def solution(data): **#1 함수 정의**
return data[int(len(data)/2)] **#2 결과 반환**
함수 정의
코드의 첫 부분에서 solution
이라는 함수를 정의합니다. 이 함수는 하나의 인자 data
를 받습니다. data
는 연결 리스트입니다.
결과 반환
len(data)
를 사용하여 링크드 리스트의 길이를 구합니다. 길이를 2로 나누고, int()
함수를 사용하여 정수 부분만 취합니다. 계산된 인덱스를 사용하여 data
리스트에서 중간 노드의 값을 가져와 반환합니다.
연결 리스트(Linked List)
Node 클래스, 연결 리스트 클래스