학부때 이상한 해킹 사이트에서 한 학기 내내 활동하던 친구가 있었습니다.
초반 단계는 금세 풀어내던 녀석이었는데 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등이 되었습니다 :)
아주 만족할만한 등수입니다.
오늘은 간만에 너무 많이 머리를 썼으니 이만 취침하도록 하겠습니다.
그럼 즐거운 하루 보내세요~
끝_
'IT' 카테고리의 다른 글
[algospot/알고리즘] 알고스팟 접속불가, "502 Bad Gateway"는 무엇? (1) | 2015.06.25 |
---|---|
[algospot/알고리즘] 알고스팟, '왕초보' 난이도 LECTURE 풀기 (0) | 2015.06.24 |
[algospot/알고리즘] 알고스팟, '왕초보' 난이도 DRAWRECT 풀기 (0) | 2015.06.23 |
[algospot/알고리즘] 알고스팟, '왕초보' 난이도 ENDIANS 풀기 (0) | 2015.06.22 |
[SQLite] SQLite의 새로운 수익모델 (0) | 2015.06.21 |
[Ubuntu/Linux] 우분투 터미널을 위한 최적화된 색상 (4) | 2015.06.19 |
[Ubuntu/Linux] vim에서 edc, embryo, eo 가독성 높이기 (0) | 2015.06.18 |
[Ubuntu/Linux] vimrc의 모든 것 (1) | 2015.06.17 |
[SMACK] 스맥에서 onlycap으로 root 권한 축소하기 (0) | 2015.06.15 |
[SMACK] 스맥에 대한 이야기를 쌓아본다 (0) | 2015.06.14 |