
난이도: ★★☆☆☆ • solved on: 2025-11-05


자료구조
SinglyLinkedListNode — 다음 노드를 가리키는 next 포인터를 가진 단일 연결 리스트 노드 구조알고리즘/기법
핵심 키워드
- 문제 분해
- 주어진
llist(head node)로부터 시작해position - 1번째 노드까지 순회한다.- 새로운 노드를 생성하여, 현재 노드(
current)와 다음 노드(current.next) 사이에 연결한다.
핵심 로직 흐름
current = head while (현재 위치 < 삽입 위치): current = current.next newNode.next = current.next current.next = newNode return head예외 처리
- 삽입 위치가 0인 경우 → 새 노드를 head로 설정해야 하지만
문제에서 position ≥ 1만 주어진다고 가정
public static SinglyLinkedListNode insertNodeAtPosition(SinglyLinkedListNode llist, int data, int position) {
SinglyLinkedListNode current = llist;
SinglyLinkedListNode newItem = new SinglyLinkedListNode(data);
int currentPosition = 1;
while (currentPosition < position) {
current = current.next;
currentPosition++;
}
newItem.next = current.next;
current.next = newItem;
return llist;
}
llist를 순회하면서 포인터가 옮겨지는 과정을 정확히 이해하는 데 시간이 걸렸다.비슷한 유형 (GPT 추천):
확장 문제 (GPT 추천):