Published 2021. 5. 9. 02:25
# Insert a node at the head of a linked list (Linked List)
[문제]
[코드]
SinglyLinkedListNode* insertNodeAtHead(SinglyLinkedListNode* llist, int data) {
SinglyLinkedListNode* node = (SinglyLinkedListNode*)malloc(sizeof(SinglyLinkedListNode));
node->data = data;
node->next = llist;
llist = node;
return llist;
}
[코드설명]
node: 새로 추가할 node 동적할당
node의 data 필드에 data 저장.node의 next 필드에 llist(head pointer) 저장.node 연결 완료 후 llist를 node로 변경(head pointer 변경).
[채점 결과]
# Ice Cream Parlor (Search)
[문제]
[코드]
int* icecreamParlor(int m, int arr_count, int* arr, int* result_count) {
int* res = (int*)malloc(sizeof(int) * 2);
int i, j;
*result_count = 2;
for (i = 0; i < arr_count - 1; i++)
{
for (j = i + 1; j < arr_count; j++)
if (m == arr[i] + arr[j])
{
res[0] = ++i;
res[1] = ++j;
break;
}
}
return res;
}
[코드설명]
res: 최종 선택된 아이스크림 종류 2개를 반환할 때 사용
이중 for문으로 arr[i]과 arr[j]를 더한 값이 m과 같다면 res[0]과 res[1]에 각각 i와 j를 1증가해서 저장한다.
이후 for문이 끝나면 res를 반환.
[채점 결과]