Practice #4
Coddy의 큐 - 자료구조 시리즈 #2 코스 레슨 — 12개 중 12번째.
다음 챌린지들은 큐를 사용하도록 설계되었습니다. Queue 데이터 구조가 이미 제공되어 있습니다 — 이것을 사용하세요!
챌린지
쉬움이름 목록과 패스 횟수(tosses)를 인자로 받아 '뜨거운 감자(hot potato)' 게임을 시뮬레이션하는 hotPotato라는 이름의 함수를 작성하세요. 감자를 tosses 횟수만큼 패스하고(각 패스마다 맨 앞의 사람이 맨 뒤로 이동합니다), 그 후 맨 앞에 있는 사람이 탈락합니다. 한 사람이 남을 때까지 이 과정을 반복하고, 마지막 남은 사람의 이름을 반환하세요.
이 문제를 해결하기 위해 제공된 Queue를 사용하세요!
직접 해보기
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"
int main() {
char line[4096];
char** names = (char**)malloc(sizeof(char*) * 1000);
int n = 0;
if (fgets(line, sizeof(line), stdin)) {
char* tok = strtok(line, " \t\r\n");
while (tok) { names[n++] = strdup(tok); tok = strtok(NULL, " \t\r\n"); }
}
int tosses = 0;
scanf("%d", &tosses);
printf("%s\n", hotPotato(names, n, tosses));
return 0;
}