IT
[algospot/알고리즘] 알고스팟에서 HELLOWORLD 문제풀기
타이젠 개발자, 윤진
2015. 6. 20. 00:00
학부때 이상한 해킹 사이트에서 한 학기 내내 활동하던 친구가 있었습니다.
초반 단계는 금세 풀어내던 녀석이었는데 13단계를 넘어가니 한달에 한 문제를 풀며 씨름하더군요.
하지만, 그러한 삽질 끝에 녀석의 실력은 꽤나 가다듬어졌습니다.
그 녀석을 떠올리며 저도 부끄러운 실력을 좀 가다듬어볼까 합니다.
알고리즘 책을 다시 읽자니 졸음이 쏟아져서 진도가 안나가니,
algospot을 벗 삼아 학부 수준에 멈춰있는 혹은 그보다도 퇴보한 뇌를 일깨워야겠습니다.
알고스팟은 2007년부터 운영하기 시작한 온라인채점 사이트입니다.
문제를 푼 후에는 해당 문제에 대한 다른 사람의 답안도 볼 수 있어 유용합니다.
가장 간단한 HELLOWORLD 문제를 풀어보았습니다.
https://algospot.com/judge/problem/read/HELLOWORLD
사용자의 입력을 받아 문자열을 더해 출력하는 간단한 문제입니다.
#include <stdio.h>
#define NAME_LEN 1024
int main(int argc, char **argv)
{
int count = 0;
char name[NAME_LEN] = {0, };
/* scanf doesn't include '\n' */
scanf("%d", &count);
while (count) {
scanf("%s", name);
printf("Hello, %s!\n", name);
count--;
}
return 0;
}
코딩 자체는 평이하지만 몇가지 고려해야할 점이 있습니다.
- name의 사이즈를 1024로 제한하였습니다.
문제의 조건에 따라 1024를 넘어설 수 있겠죠.
- scanf("%s", name)에서는 사용자가 입력을 위해 입력한 '\n'를 포함하지 않습니다.
- scanf("%s", name)에서 name은 char *입니다. char **로 사용하지 않도록 합니다.
위처럼 코딩하고 제출하니 4849등이 되었습니다 :)
아주 만족할만한 등수입니다.
오늘은 간만에 너무 많이 머리를 썼으니 이만 취침하도록 하겠습니다.
그럼 즐거운 하루 보내세요~
끝_