우리나라의 컴공 교육에 대한 생각이 들게 하는 면접

방금 면접관으로 면접을 보고 왔습니다. 결과는 X 였는데요. 뭐랄까 좀 충격적이었습니다;
강원도쪽 H 대학 정보통신공학부를 나와서 서울대 아닌 S대를 대학원 전자전기컴퓨터공학부를 나왔습니다;

소프트웨어 부분 수상 경력도 있어서 코딩은 좀 하려나 했었죠.

그런데 일단 대학원에서 한 내용 자체가 좀 애매 했습니다. 대부분의 내용이 기존에 있는 알고리즘 돌려 보고 비교 해 본 결과입니다. 코딩 능력이 전혀 필요 없고, 연구 능력도 필요 없습니다. 그냥 있는 코드 잘 돌아가게 만들어서 몇몇 비교 방법을 통해 비교만 해 본 것 같더군요. 안 그래도 대단히 의심되고 있는 상황에서.. 프로그래밍 언어는 뭐를 주로 썼냐고 물어 보니 주로 C를 했고 MFC, 자바를 한다고 했습니다. 코딩 문제를 냈습니다.

int main()
{
  char str[] = "abcde";
  reverse(str);
  printf("%s\n", str);
  return 0;
}
결과
edcba

void reverse(char* str)
{
/// 구현하시오
}

이렇게 써줍니다. 몇가지 가르쳐 준 후에도 이렇게 풀더군요;

void reverse(char* str)
{
  int a, b = 0;
  int i;
  char* aa;
  a = strlen(str); // 여기를 처음에 파일의 길이를 알아내는 함수를 써야 한다고 한글로 썼었습니다.
  b = a;
  for ( i = 0 ; i <= a ; i++ )
  {
    aa = str(b);
    b = --a;
  }
  memcpy (str, a , sizeof(char));
}

뭐 어떻게 고쳐줄수도 없을 만큼 많이 틀려서;; 게다가 str(b)는 틀렸다고 했는데 포인터이기 때문에 끝까지 맞다고 주장해서.. ;
괴로웠습니다; 지난번 두번의 면접관은 둘다 석사병특이라 학벌이 좀 괜찮은 사람들이었습니다. 그 사람들은 버벅대긴 했지만 그런대로 풀었었는데, 이렇게 까지 못 푸니깐 정말 뭐라 말을 해야 할지 어렵더군요 ㅜ.ㅜ

제 개인적인 생각인지는 모르겠는데, 사실 공대에서 소프트웨어 관련(컴공이나 전산)으로 전공을 했다고 하면 프로그래밍은 기본이라고 생각합니다; 학부생도 아니고 대학원까지 나온 학생이 학술제 소프트웨어 부문 최우수상 까지 탄적이 있다는 학생이 저렇게 풀다니 정말 충격입니다; 게다가 주로 사용한 언어가 C라고 했단 말이죠.

틀린데가 한 두군데가 아닌데다가 설명을 해 줘도 모르는 것으로 봐서 메모리 개념, 스트링에 대한 기본 개념도 없어 보이는 것으로 봐서 copy, paste 코더였거다 코딩을 거의 안 해 봤거나 둘중에 하나가 아닌가 합니다만; 여튼.. 정말 면접 들어가서 어찌해야 할지 모르겠는 이런 경우는 정말 힘든거였군요.

아 정말. 자신이 컴공 나왔고 소프트웨어 분야에서 일하고 싶으신 분들은 최소한의 기본 프로그래밍 능력은 기르셔야 합니다; 그리고 저런 사람한테 학위를 주는 학교도 좀 문제 있는거 아닌가 하는 생각마저 드는군요;

ps. 문제는 수정했습니다. 실제 문제 낼때 printf 계수는 틀리지 않았는데 리턴은 굳이 안 했군요. main의 return은 gcc에서는 워닝으로 그냥 넘어가다 보니 가끔 잊어 먹네요

ps2.   char str[] = "abcde"; 이거랑   char* str = "abcde"; 이거 차이 모르시는 분도 꽤 많군요; 후자는 쓰기가 안 되죠; 전자는 됩니다;

by Lohengrin | 2009/05/20 11:52 | 트랙백(17) | 핑백(4) | 덧글(131)

트랙백 주소 : http://lohengrin.egloos.com/tb/1907690
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Life Trek : .. at 2009/05/20 14:50

제목 : 내가 무서워 하는것 중 하나
가끔 내가 정말 심각할정도로 무서워 하는게 하나 있는데, 그게 뭣이냐 하면.. 내가 프로그램을 졸랭 못짜는 상상. 병신스러운건 알고 있는데, 정말로 가끔 그런 상상을 하면서 심각할정도로 겁에 질릴때가 있다. 누군가 갑자기 덥석 어떤 문제를 던져 주었을때, 그러니까 하나의 솔루션을 만들라고 하는게 아니라 간단한 알고리즘을 만들어 내라고 하는데 그걸 제대로 못만드는거다. 나는 그닥 내공이 좋은 개발자가 못되어......more

Tracked from 시간과 춤추는 사나이 at 2009/05/20 19:32

제목 : 그러니까 C 문자열의 순서를 뒤집으려면.
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접 이 글 보고 좀 충격을 받았다. 대학원생이 저런 간단한 코드를 못짠다니!! 게다가 내가 다니는 학교도 서울대 아닌 S대. 왠지 내 주변의 이야기 같아서 더 충격을 받았다. 보통 이정도 수준의 코딩은 C를 처음접하면서 포인터나 문자열 처리를 배울때 해보기 마련이다. 그러니까 대충 학부 1학년이나 2학년 수준에서 이미 끝나는 수준이다. &nb......more

Tracked from Even Flow at 2009/05/20 22:13

제목 : 뭐랄까..
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접아니.. 아무리 요새 C를 안쓰고 고급언어 어쩌고 한다 해도.. 이건 좀 아니잖아..;;참고로 이정도 수준은 전공도 아니고, 1학년 교양수업 수준이다. 원글에서 답을 쓴 사람은 대체 무슨 생각으로 답을 쓴건지 잘 모르겠는데.. 몇줄 되지도 않는 간단한 코딩이다. 문제를 보자.int main(){ str[] = "abcde"; reverse(str); pr......more

Tracked from 하뉴 모에 이글루스! at 2009/05/20 22:45

제목 : 문자열 뒤집기 저는 요렇게!
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; // func system() void Reverse(char* szStr); int main(int agrc,char **argv) { char szStr1[] = "abcde"; // 홀수 개 &n......more

Tracked from 새퍼 양파의 런던 일기 at 2009/05/20 22:56

제목 : 내가 이래서 개발일 하기 싫어 -_-
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접 나 대학때 C 아주 처참하게 낙제했었다. 물론 연애하느라고 정신없어서 클래스 다 쨌던 이유도 있긴 하지만, 시험 전날 C 의 포인터는 그야말로 난공불락 ㅅㅂ 아돈노 장벽이었다. 아직도 잘 모른다 ㅋㅋ 내가 한 언어는 파이썬, 자바, 펄 등이고, 그것도 그냥 유저 혹은 코더 레벨이지 내가 정식으로 프로그래밍 공부한 적도 없고, 까라면 까다보니 배운 거라 뭐. 저 문제 보고 나서 또 ......more

Tracked from death and th.. at 2009/05/21 01:02

제목 : 이런 글만 보면 뜨끔해서 트랙백
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접이런 글이 가끔 IT밸리에 올라오는데, 그때마다 정신차려야지, 한다. 컴공 아닌분들을 위해 얘기하자면 저정도는 대학 1학년 말에 마쳐야 b+이상의 학점을 딸 수 있는, 그정도의 간단한 일이다.(물론 나같이 1학년 전과목을 날려먹은 애들은 못한다 ㅋ_ㅋ_ㅋ_ㅋ_ㅋ_ㅋ_ㅋ 난 전공과목 병신이니까 ㅋ_ㅋ_ㅋ_ㅋ)그리고 그 다음부터 전혀 하지 않게 된다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ......more

Tracked from Ideal & Real.. at 2009/05/21 01:06

제목 : G사와 N사의 코딩 면접.. + 전산책들...
전세계에서 짱드시고 계신 G사. 한국의 경우에도 회사에 점심에 출장뷔페를 해주는 그 회사에 전에 면접을 본적이 있다. 사실은 그냥 아는 형님이 면접보러오라는 이야길 해서, 나도 넣어보겠어! 라는 단순한 사유였으나.. 운좋게도 제법 올라갔었다. 어차피 시험볼때 쓰는 서약서 덕분에 뭐라고 문제를 밝힐 수준은 못되지만... 면접에서 제법 많이 올라 가봤던 경험으로는.. (물론 경력은 아니고 신입이었다만..) G사에서 필요한 정도는 ACM레벨이라면 스......more

Tracked from 다들모여 개짓하기 at 2009/05/21 09:40

제목 : 학부생 수준은 이정도
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접요새 IT밸리에 대세 타고 있는 포스팅,일단 나는 컴공 4년 졸업(중간 휴학1년 포함)생이며 지금 개발일 하고있슴미.임베디드 C++ 다루고 있으며, JSP도 가끔 하고 .. .데이터베이스는 Sybase(임베디드용)랑 Oracle 쓰고 있네효 아직 신입이라 수준은 학부생_-후후나름 C언어는 열심히 했다지만 난 아직 1학년 수준; 후후void reverse(char *str){ ......more

Tracked from 랩좀비. 랩은 못하지만.. at 2009/05/21 11:49

제목 : 허접 공돌이의 답안
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접어째 글 내용과는 상관없는 문제에 대한 답을 트랙백하네요void Swap(char* lhs, char* rhs){ char temp = *lhs; *lhs = *rhs; *rhs = temp;}void reverse(char* str){ UINT nLength = ::strlen(str); UINT endIndex = nLength/2; for ( U......more

Tracked from Elegance Alc.. at 2009/05/21 13:06

제목 : 문자열 뒤집기가 주는 의의
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접저도 떡밥 덥썩 물어보렵니다.지금 IT밸리에서 거주하고 있는 개발자 및 개발자 지망생, 그리고 저 같은 학생 분들께서 위의 사태(?)에 대해 극히 우려를 표명하고 나섰습니다.사실 저도 이 글을 보고 참 문제스럽다.. 싶긴 했었지만.존경하는 스승님(?)께서 들려주신 면접 사례를 보아서는 이정도는 가능하기도 하겠다.. 했습니다. 뭐 일단 이건 차차 다시 살펴보도록 하구요.예전에 한번 만들어 본 적이......more

Tracked from iks' me2DAY at 2009/05/21 15:06

제목 : 리오의 생각
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접… 모 게임회사 다니시는 분한테 같은 얘기 듣고 설마 했는데 사실이었구나....more

Tracked from 電車男`s Bloging at 2009/05/21 15:22

제목 : 아 진짜 급 이런생각이
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접 예전에 학교 다닐때   UML 시간에 우리과 1등이 했던말이 생각 나네요 ㅡㅡ ;;  "저희가 할수 있는 프로그래밍 실력은 구구단 정도 밖에 안되는데 무슨 프로젝트 입니까"  저 대답에 교수님도 나도 하늘도 신도 울었다지요 ㅡㅡ; 교수님은 어땠을까요 참 당혹함을 감출수도 없고 그래서 일딴 빼더라구요  참 컴공과 나와서 답답하네요 ~ 쩝 ...more

Tracked from 휴우.. 벌써 2년 at 2009/05/21 15:42

제목 : 이게 왜 문제가 되는거지?
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접  면접을 본 저 사람이 좀 심하게 바보같았다는 생각은 들지만.. (그리고 실제로 코딩 이외의 다른것도 잘할 것 같지는 않지만)  리플들에서 왜 코딩을 잘 못하는 사람들에 대해서 성토하는지 잘 이해가 안된다-_-  내가 전산 전공은 아니지만, 전산 전공이 코더를 키워내는 전공은 아니지 않나?  중요한건 얼마나 효율적인 알고리즘을 만들어내느냐, 그리고 그게 얼마나 합리적인 속도와 정확성......more

Tracked from ekstasis' me.. at 2009/05/21 18:51

제목 : 천기누설의 생각
난 코드의 '코'자도 모르고 C언어라고는 본 적도 없는데 왜 이런 글을 보고 재밌어할까...more

Tracked from Black Dream .. at 2009/05/22 01:16

제목 : 컴공교육에 대한 글을 보고 (.. )
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접이 글을 보고 이노랑 둘이 졸랭 씹던 중의 대화.[지영/윙이/wing/つばさ/翼] 읭...님의 말(오후 8:28):안그래도 아는애가 원문을 보고 글을 쓰기를왜 전산전공이 코딩 못한다는 게 욕먹을 짓이냐라는 글을 썼지;;[지영/윙이/wing/つばさ/翼] 읭...님의 말(오후 8:29):물론 걔는 전산전공이 아니라 몰랐을거야. 글의 요지는 대강코딩은 코더시키면 되지전산과는 걍 알고리즘만 만들면 되는......more

Tracked from 義源의 블로그 at 2009/05/22 01:49

제목 : 나는 바보인건가...
우리나라의 컴공 교육에 대한 생각이 들게 하는 면접 위의 글을 보고 순간 저건 어떻게 코딩을 해야 하나 했다. 첫번째 부터 헷갈리는것이 문자열 길이를 구하는데 마지막 문자에 '\0' 이 들어가지 않는 경우도 있나 부터 생각했다. 두번째에는 '이걸 어떻게 swap 하지' 라는 생각이 들었다. 지금 2년차 개발자이다. 이렇게 기초적인것을 못 풀다니, 내가 이일을 계속해도 되는건가 하고 의문이 든다. 그런데 입사할때는 여러 책에서 봐서 저런 문제들은......more

Tracked from wowzzangga's.. at 2009/05/22 17:21

제목 : 빙그레씨의 생각
지금 이글루스에서 이슈가 되고 있는 이 글을 보고 있으니 생각난건데, 코딩테스트만으로 사람뽑아놔도 막상 같이 일하기 힘든 타입인 경우도 있다....more

Linked at 준철이 생각 : 나는 오늘 이.. at 2009/05/21 01:48

... 업무지원요청 등이 떨어진다 할 지라도 15일이면 충분해 보인다.(너무 많아.) 그래 사실 너무 실전 코딩 부분을 안하려고 하는 사람들이 많고 이번에 이글루 IT밸리 대문글에 reverse 에 관한 글도 그렇고 여러가지로 참 답답했다. 아무튼 간에 그냥 홧김에 "나라면 2일만에 만들 수 있어, 아무도 나한테 다른 잡일을 안시킨다면 말이지" 라고 말했다. 그 ... more

Linked at eNgiNeeRed : 문자열.. at 2009/05/21 13:55

... 어제부터 계속 IT 밸리에 꾸준히 문자열 뒤집기에 관련된 글들이 올라오고 있다. 시작은 우리나라의 컴공 교육에 대한 생각이 들게 하는 면접이라는 글이었다. 그러면서 뒤이어 C언어가 어떻고, 포인터가 중요하고, 문자열은 메모리를 직 ... more

Linked at 초심자용 에린 입문서 : 나도.. at 2009/05/22 01:24

... http://lohengrin.egloos.com/1907690 [덥썩]그러게.. 프로그래밍이 중요하다제품에서 프로그램의 비중이 높아진다. 프로그램 가격이 비싸진다.이게.. 코더가 중요한게 아니라.아 ... more

Linked at ZeroNucleus : 문자.. at 2009/05/23 03:02

... 블로그 돌아다니다가 "문자열 뒤집기" 대한 주제가 여기저기 있어서 한번 풀어보았다. 자세히는 모르겠습니다만. 저도 한번 풀어보았습니다. [관련 글] http://lohengrin.egloos.com/1907690 http://lesstopia.egloos.com/4953124 [문제] 문자열 뒤집기. : int main( ... more

Commented by Lohengrin at 2009/05/21 02:10
하하 C를 안 한다면 굳이 물어보지 않겠죠. ^^
Commented by dhunter at 2009/05/20 15:10
트랙백 하신 분이 코드를 짜셨길래 저도 심심풀이 삼아 한코드...

void reverse(char *str)
{
int len, hlen, i;
char temp;
len=strlen(str);
hlen=len/2;
for(i=0;i<hlen;i++)
{
temp=str[i];
str[i]=str[len-i];
str[len-i]=temp;
}
}

문자열이 \0 처리가 안 되어있다던가 하는 예외처리가 전혀 안 되어있긴 하지만... 일단 그런건 넘기고 했을때 가장 간단한 코드로 하나 짜봤습니다. 돌아갈런지는 잘 모르겠네요.
Commented by dhunter at 2009/05/20 15:54
저 len-i를 len-i-1 으로 바꿔써야 하는군요. 데꿀멍.
Commented by STREETDJ at 2009/05/20 15:36
역시 마음편한 코더가 좋은거 같습니다. =ㅅ=)..
프로그래머의 길 이외에 코더도 할 수 있는 웹서비스 같은걸로 전직한게 참 잘한일같아요.

웃긴건 회사 생활하다보면 코더인 저보다 응용력이 떨어지는 프로그래머가 보이면 참 한심해보인달까요;; C를 다루는 사람들이 VBA 만지는거 보고 "오오 신기하다" 라고 할줄은;;

중소기업도 입사시험을 좀 까다롭게 할 필요가 있다고 보입니다.
그보다도 입사시험 덤프를 공개해서 비슷한 경향의 문제로 입사시험을 보게 했으면 좋겠군요.. (외운걸론 못하도록;;)
Commented by Lohengrin at 2009/05/21 02:10
저도 VBA만지는거 보면 신기할것 같아요;
Commented by 하느바람 at 2009/05/21 14:09
뭐 C만하다가 VBA를 보면 신기할만 하죠 뭐.
이것저것 손을 많이 대보는 스타일이지만 고위언어나 대안언어 쪽으로 가면 매번 참 신기하니까요.
Commented by 우주인 at 2009/05/20 15:56
원하는 답은 사실 strlen이나 memcpy 같은 c표준함수를 이용하지 않고 구현해야 하는것 아닌가요? c표준함수를 사용한다면야 strrev 함수하나도 되는것을...

저런 문제는 10년전에도 입사시험 기술면접등에서 나온것이긴 한데 그때도 전산관련 졸업생인데도 버벅대는 이가 많았습니다. 당시에 원하는 내용은 문자열(정확히는 포인터)이 c언어에서 어떤식으로 처리되는가에 대한 이해를 묻는것이기 때문에 c표준함수를 사용해서 코드를 작성하면 무조건 아웃이었습니다.

기억을 더듬어 보면,

저 문제는 버퍼를 따로 할당하지 않고 c표준함수를 쓰지않는 루프문 수준에서 구현이 되어야만 정답이었습니다.

추가로 저것과 더불어 C++의 가상함수에 대한 내용 또한 의례 나오는 질문이었지요. ㅎㅎㅎ
Commented by lolized at 2009/05/20 18:24
strrev라는 표준 함수도 있나요? 일단 레퍼런스 사이트에는 그런 함수가 없는데.
Commented by highseek at 2009/05/20 22:51
msdn 내용입니다.

_strrev, _wcsrev, _mbsrev
Reverse characters of a string.

char *_strrev( char *string );

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version


Return Value

Each of these functions returns a pointer to the altered string. No return value is reserved to indicate an error.

Parameter

string

Null-terminated string to reverse

Commented by Lohengrin at 2009/05/21 02:09
man에는 안 나오던데 표준 함수는 아닌거 아닌가요? 자세히 찾아 보지는 못했습니다만;
Commented by 우주인 at 2009/05/21 02:15
답변은 이미 highseek 님이... ^^;;
Commented by highseek at 2009/05/21 02:23
string.h 헤더파일 까보면

_CRTIMP char * __cdecl _strrev(char *);

이게 있지요.
Commented by 우주인 at 2009/05/21 02:32
의외로 모르시는 분이 많은가 보군요. 이거 strtok로 면접보면 아주 가관일듯 한데요 ㅠ.ㅠ
Commented by Terzeron at 2009/05/21 14:16
일단 strrev는 표준도 아니거니와, "표준"이라는 것에 대한 기준도 없으신 것 같습니다.
C 함수에 대해서 표준을 말하려면 C89, C99, C99 또는 POSIX 등을 기준으로 삼아야겠죠.
Commented by LULL at 2009/05/23 00:37
strrev. msdn에 나오니 MS꺼에선 가능하지만
다른데서도 다 되는건 아닙니다.
Commented by 우주인 at 2009/05/23 03:53
이 포스트 완전 만선이군요~ @.@ MS 컴파일러에서만 제공되는 표준함수냐 아니냐가 아니고, 무엇이 되었든 이미 구현된 외부함수를 사용하지 않아야 한다는게 제 댓글의 핵심이었습니다만... 논의가 엉뚱한 곳으로 갔군요.
Commented by Anonymous at 2009/05/20 15:57
전기전자 전공인 저도 저 정도는 아닌데...
안타깝군요 -_-;
Commented by Lohengrin at 2009/05/21 02:09
저도 안타까웠습니다
Commented by 미친과학자 at 2009/05/20 16:40
여러가지 생각이 들어 트랙백 합니다 ㅡㅜ
Commented by Lohengrin at 2009/05/21 02:08
트랙백 감사합니다.
Commented by 에톤 at 2009/05/20 16:49
sw관련 석차 1년차로 뜨끔하네요. 학부때 전기 전자 전공이라 진로를 늦게 정해
코딩 경험이 적어서 기초가 많이 부족하거든요.
저건 0과 n-1, 1과 n-2 를 스왑하는 방식으로 구현하면 되지 않나요?
Commented by Lohengrin at 2009/05/21 02:08
지금부터라도 열심히 공부하면 되죠 ^^
Commented by 퓨리넬 at 2009/05/20 18:08
학부때 동적 라우터나 NAT만들고(저는 묻어가느라 안만들었지만;;) 자바나 C++로 ATM정도의 프로그램을 구현하거나 DB과목에서 프로그램 하나 만드는게 당연한게 아닌가요?

컴공이 아닌 정보통신공학부라서 그럴까요?
대학원에서 컴퓨터가 아닌 전기나 전자를 공부했다거나;;;

윗분이 올리신 인텔 면접문제는 어렵네요. 아직 실력이 부족해...;ㅇ;

지난달에 채용 지원 자격으로 7문제중 몇 문제 이상 풀어야 하는 S모 회사가 생각나네요.
지원했다가 전화면접에서 떨어졌지만...IIOTL
Commented by Lohengrin at 2009/05/21 02:08
흠 저 인텔문제는 사실 코딩 실력을 가늠한다기도 애매한게 아닌가 싶다는 생각이 듭니다; 저도 오래된 이런저런 코드들도 간혹 봐 왔는데, 저런 형태로 for문 사용하는 경우는 못 봐서요; 물론 사고력을 묻는 문제라고 볼 수도 있겠습니다만;;
Commented by 이상훈 at 2009/05/20 21:42
뒤에서 출력하는게 언제부터 대학원 간사람들이 못풀문제가 된거지;
Commented by Lohengrin at 2009/05/21 02:06
하하 옆팀 팀원은 전산학과 나와서 더하기 빼기 못하는거나 마찬가지라고 한 적도 있죠
Commented by 네코 at 2009/05/20 21:55
대충 이해만 되면 된다지만 제시된 문제도 문제가 좀..
변수형 선언도 안되어 있고, printf("%s\n")는 뭘 출력하는지 빠져있고..
int main()인데 리턴도 없이 끝나고..
main만 보고는 디버깅하라는 문제인 줄..

근데 c를 주로 한다는 사람이 str(b)는 뭐래요;;
Commented by Lohengrin at 2009/05/21 02:06
에구구.. 제가 하도 어이가 없어서 업무시간에 급하게 포스팅 했더니 빠트렸네요; 실제 칠판에 문제 적어줄때는 리턴 빼 먹은거 외에는 제대로 적었습니다. 리턴은 뭐 일단 빼먹어도 보통 컴파일 하고 실행은 되니깐요
Commented by 네코 at 2009/05/20 21:58
저도 지나가다 한 번 짜봅니다.

void reverse(char *str)
{
int i, j, len;
char temp;

len = j = strlen(str)-1;
for(i = 0; i < len/2; i++)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
j--;
}
}
Commented by Lohengrin at 2009/05/21 02:04
하하 문제 비슷한걸 냈더니 푸는 분이 많네요. ^^;
Commented by 양파 at 2009/05/20 22:07
전 저런 거 몰라서 코딩 포기했어요 -_-; (사실은 C 를 아주 처참하게 낙제했는데 낙제할 시절에 한참 공부해야 했던게 아마도 포인터 -_-)

근데 그래도 어케어케 자꾸 코딩하게 되는 상황에 처한다는 ;ㅁ; 닥치면 대강 하긴 해요.
Commented by Lohengrin at 2009/05/21 02:04
아예 개발직으로 안 가는 경우도 있더군요. 기술지원에 온 친구들이 대체적으로 코딩을 못해서 개발을 안 한다고 하기도 하더군요.
Commented by ayh1800 at 2009/05/20 22:12
Copy & Paste의 폐단일지도 모릅니다..
다들 아마 부딪히는 게 있으면 google 신의 도움을 받아 닥치고 붙여 놓은 후 손질하는 식으로 코딩을 했을 지도 모릅니다.

하긴, 예전에 웹개발자 뽑을 때, 면접 오시는 7분 중 딱 한 분만 Database 접속해서 Recordset 받아오는 코드 짜는 데 성공하셨던 기억이 있네요. 필요하면 인터넷 검색해보라고 했었는데도 말이죠. 거기 비하면, 이 정도는 양반일지도..
Commented by Lohengrin at 2009/05/21 02:03
앗 저도 php는 mysql이랑 mssql이랑 오라클 연결해본 경험이 있어요 ^^ mysql은 요즘도 가끔 쓰긴 하는데 문법을 많이 잊어 먹어서 간단한 select 문 외에는 거의 책 보고 하죠.
Commented by Cailia at 2009/05/20 22:58
학부 4학년때 들을게 없어서 학부기초과목인 C++과 MFC를 들었었는데

같이 수업듣던 4학년생 2명이 학부과정을 못따라 오더군요.

컴퓨터 공학을 한다는 대학생들이 졸업반되서 책놓고 하는 학교 커리큘럼 조차

못따라오는게 현실인것 같습니다.

...물론 제가 지잡대 출신이긴 합니다만...
Commented by Lohengrin at 2009/05/21 02:02
컴공이나 컴사 등은 C는 기본이라고 생각합니다; 다들 기본적으로 좀 해줘야. ^^;
Commented by 난 이런경우 잘알음 at 2009/05/20 23:19
대학원 까지 나오더라도 사실 대학교 나온거랑 별반 다를게 없죠.
어쨋거나 그건 그렇더라도

소프트웨어 부분 수상 경력은

제가 봤을땐


인간관계를 효율적으로 이용(?)

어떻게 코딩 잘하는 친구녀석을 통해

아무래도 남이 코딩 해준거거나

팀으로 참가해서 상탄거면 코딩부분은
남이 코딩한걸로 상 거저 얻어먹은 사람 같네요.

학생시절 인간관계 친분만 잘 이용하면
빈대 붙어서 거저 상 얻어탈수있는?

요즘 상 타더라도 못믿습니다<-

Commented by Lohengrin at 2009/05/21 02:01
대학원도 대학원 나름인가 봅니다; 저는 코딩도 많이 한 편인데;
Commented by 지그프리드 at 2009/05/20 23:19
혹은, 지식인이 다 알려줬을지도 모르죠. 포인터 개념이 없는 C 프로그래머라... 소가 웃겠습니다.
Commented by Lohengrin at 2009/05/21 02:01
정말 궁금해서 그러는건데 소는 어떻게 웃나요?
Commented by 극악 at 2009/05/20 23:21
지하철 무선랜으로 아이폰으로 보다가 뜨끔!해서 지하철안에서 메모로 남겨보고 집에와서 해봤네요;;
Commented by Lohengrin at 2009/05/21 02:00
하하 어려운건 아닌데 사실 갑자기 당하면 당황 스러울 수도 있죠.
Commented by 아라리용 at 2009/05/20 23:36
#include <stdio.h>
#include <string.h>
#include <malloc.h>

void reverse1(char* str1)
{
int length = 0;
int i = 0;
char* str2 = 0;

length = strlen(str1);
str2 = (char*)malloc(sizeof(char) * length + 1);

for(i = 0; i < length; i++)
{
str2[i] = str1[length -1 - i];
}
str2[i] = 0;
printf("%s",str2);
free(str2);
}


int main()
{
char* str = "12345";
reverse1(str);
return 0;
}

=========================================

이거 할줄 알면 취직 되나요??
Commented by Lohengrin at 2009/05/21 02:00
하하 뭐 여러가지 보는 것 중에 하나인 것이죠. ^^; 그것만 가지고 취직이 되지는 않겠죠

근데 실무를 보는 중소기업에서는 이런걸 못할 경우 거의 안 받아 줄겁니다.
Commented at 2009/05/20 23:45
비공개 덧글입니다.
Commented by Lohengrin at 2009/05/21 01:59
기습적으로 물어봤는데;; 바쁘면 난감 이라든지ㅣ
Commented by 레이지로 at 2009/05/21 00:20
흠좀무... 이렇게 안되도록 열심히 공부해야겠네요;;
저는 모대학 컴퓨터학과 1학년 학생입니다.
Commented by Lohengrin at 2009/05/21 01:58
하하 코딩은 잘 하고 볼일입니다
Commented by 오린간 at 2009/05/21 00:53
헐...진짜 완전 ㄱ- 안구에 습기가 찹니다.

저도 뭐 이제 박사과정 들어가고있지만, 제 밑으로 저런 사람 들어온다고 하면 열받...

그나저나 심심해서 한번 저도 풀어봅니다.

void rever( char *str )
{
char *a, *b;
char tmp;
a=str;
b=strlen(str);

while( a<b )
{
tmp = *a;
*a = *b;
*b = tmp;

a++;
b--;

}

}


ㄱ-;;; 코딩 스타일이 드러나는군요 먼가
Commented by Lohengrin at 2009/05/21 01:58
학교에 오는 학생이라면 용서가 될 것 같네요;
Commented by at 2009/05/21 01:27
void reverse(char* str)
{
strcpy(str, "edcba");
}

....
Commented by Lohengrin at 2009/05/21 01:57
하하 그렇게 짠 사람도 있었다고 하는군요
Commented by Richpapa at 2009/05/21 01:40
TCPL을 한 번이라도 봤으면 풀 수 있는 문제, 그리고 면접 보는 사람이 최소한 준비가 안되어 있네요.
그런데, 딴지를 달자면 main이 좀 이상하지 않나요.
str[] = "abcde" 이게 뭔가요? 풉!! char str[] = "abcde"로 혹은 char* str = "abcde" 해줘야 하는 것은 아닌지? C를 안한지 꽤 됐지만... 기본코드 같은데... 정말 간단히 생각나는대로 하면 아래정도 되지 않을런지.. 보충할려면.... 예외처리정도 해주고.(아래는 안했지만)

void reverse(char *s)
{
int c, i, j;
for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
Commented by Lohengrin at 2009/05/21 01:57
제가 급하게 글을 쓰다 보니 몇몇 빠트린게 있네요.

그런데 char* str = "abcde"; 이렇게 선언하면 str 메모리에는 안 써지기 때문에 char str[] = "abcde"; 이렇게 선언해야 합니다.
Commented by highseek at 2009/05/21 02:01
char* str = "abcde"; 로 할 경우 abcde 라는 문자열은 .rdata 영역(쓰기금지)에 잡히고, str이 있는 스택에는 해당 포인터만 올라옵니다. 즉 스택에 문자열이 들어가지 않기 때문에 직접 조작할 수 없지요.
Commented by ifelse at 2009/05/21 02:15
Java만 열나게 배우는 학교도있는데..
역시 C는 기본으로 할줄알아야되는건가 싶군요a..
Java로 짜라면 금방짜겠는데C로짜라면 멍.. 그래도 연습삼에 짜보니 되긴되는군요..
Commented by Lohengrin at 2009/05/21 09:57
자바 프로그래머라면 자바 문제를 내겠죠 ^^
Commented by highseek at 2009/05/21 02:28
사실 c를 아냐는거보다.. 스트링 처리법이나 메모리구조를 아냐는 게 더 중요한 거 같습니다. 고급언어를 쓸 때도 저런 기본적인 사항들을 아는 것과 모르는 것은 꽤 차이가 있지요.
Commented by Lohengrin at 2009/05/21 09:58
문자열 사용이나 포인터 개념 등을 어느정도 알고 있나 뭐 그런것 까지 보는 것이겠죠.
Commented by 선배 at 2009/05/21 02:40
하하...........

저래서 보통는 학력무관이라고 하는군요...

실상은 고졸자는 잘리는...
Commented by Lohengrin at 2009/05/21 09:59
하하 ^^;;
Commented by 선배 at 2009/05/21 02:43
참... 저도 처음 C배울때 한참 해매었던...
Perl을 “약간” 익히고 C를 다시 보니 쉽게 개념이 접수가 되었던...

정규과정중 과목중에서 Perl이 있었다면... 하는...

Commented by Lohengrin at 2009/05/21 09:59
저는 펄을 배운적이 없어서. ^^;;
Commented by 지나가다 at 2009/05/21 02:52
저거 저희학교 기본실습시간에 하는거네요.

뭐 교육도 교육이지만 그걸 받아들이는 사람 문제도 있는듯
Commented by Lohengrin at 2009/05/21 10:00
뭐 모든것이 받아들이기 나름 아니겠습니따? ^^
Commented by 우주괴물 at 2009/05/21 07:56
사실 이거 조엘온 블로그에 나온 유명한 테스트죠. 프로그래머 뽑을때 너무 어려운거 물어보지 마세요. 그냥 스트링 뒤집는거 정도만 할 줄 알면 되죠. 하지만 그거 조차도 못하는 사람들이 90% 이상이었다는. 그리고 그것 조차 못하는 사람도 뽑아 봤는데 회사에 엄청난 피해를 주더군요.
Commented by Lohengrin at 2009/05/21 10:00
조엘 온 소프트웨어에 나온 이후로 많은 회사에서 채용 한다고 하더군요. 그런데 확실히 큰 도움이 됩니다.
Commented by karnell at 2009/05/21 09:14
다들 짜는데 정신이 없구려.
틀린부분을 찾는거라면
str(b); -> *(str + b); 포인터이므로 인덱스는 괄호가 아니라 더해야합니다.
b = --a; -> b--;

b = --a; 이렇게 하면 a 도 감소하기 때문에 for 문이 strlen(str) 갯수만큼 안돌게 되죠.

이런걸 짜는 건, 2가지 방법이 있는데,
1. 버퍼를 생성해서 거꾸로 집어넣은후에 전체 복사.
2. 맨 앞글자와 맨 뒤 글자를 바꿔주는 방법.
정답은 없으니 마음에 드는대로 짜면 되죠.
Commented by karnell at 2009/05/21 09:19
근데 정말 손써볼수 없을만큼 이상하게 짰긴했네요...
심하다...ㅋㅋㅋ
Commented by Lohengrin at 2009/05/21 10:01
중요한 부분들을 지적해 주었습니다만, 전혀 고치지 못해서 포기 했습니다; 사실 고쳐 주는 내용을 이해하고 수정을 해 나갔으면 또 개선의 여지가 있다고 볼 수도 있죠.
Commented by EIOHLEI at 2009/05/21 09:35
우연히 같은 내용을 듣고
닥치고 문자열길이의 절반( 소숮점버림)에 대해
int n = length;( strlen도 좋고 그냥 while( pstr){ pstr++,length++;}
char * x = pstr의 첫포인터
char * y = (pstr + length);
해서 lenght/=2;
while( length){
*x^=*y^=*x^=*y;
x++;
y--;
length--;
}
정도로 생각했습니다.
만 먼가 헛점이 있을지도
(저런류가 은근히 마지막에 한번 빼먹고 도는 경우를 자주 저질러서

.. 나중에 해봐야겠군요
Commented by Lohengrin at 2009/05/21 11:01
뭔가 복잡하군요. ^^;
Commented by 하뉴 at 2009/05/21 12:59
오오 저랑 비슷하게 스왑시 xor 하시는분 발견!
Commented by 누리♡ at 2009/05/21 09:42
그래도 면접 본 분 보다
제가 조금 나아서 위로받고 갑니다
후다닥 ;
Commented by Lohengrin at 2009/05/21 11:01
하하 다행이네요. ^^
Commented by 연비 at 2009/05/21 10:56
헤에 저도 짜보긴 했능데.......이게 맞는지는 모르겠다능........
끄엥끄엥
Commented by Lohengrin at 2009/05/21 11:01
컴파일해보면 알겠죠. ^^
Commented by 연비 at 2009/05/21 11:03
컴파일은 잘돌아가융 'ㅅ') 생글생글.......
Commented by karnell at 2009/05/21 11:22
씨삽으로 짜신거 같던데요. 읽어봤을때는 문제가 없었다는 ㅎㅎ
Commented by 연비 at 2009/05/21 11:32
헤헤헤헤 끄덕끄덕 'ㅅ'
Commented by Edward J. at 2009/05/21 14:07
이런친구중에 그래도 algorithm 분야에서, 혹은 적어도 online 에서는 강한친구들이 또 많지 않겠는지요.

오래된 옛날 면접보러다닐때 저는 이런 문제 나오면 그냥 pseudo code 썼던기억이 나는근요.
Commented by dasony at 2009/05/21 14:20
대학교, 대학원이 프로그래밍학원은 아니죠. 물론 요즘 일부 학교는 실무 위주의 교육을 하긴하지만, 기본적으로 Computer Science는 프로그래밍 배우는 학과는 아닙니다. 국내 최고대학 커리큘럼을 거쳐도 4년간 코딩량은 그리 많지 않지요. 갓 졸업한 학생에게 코딩 능력이 있길 바라는건 애초에 무리입니다. 게다가 면접 문제로 내신 문제는 1,2학년 수업에서 숙제로 했을법하죠. 1,2학년때 배웠던 물리 문제나 미적분 문제 자신 있게 푸실 수 있는 분이 얼마나 될까요?

코딩을 잘하는 학생들은 모두 자기가 재미있어서 공부를 했거나 아르바이트하면서 경험을 더 쌓은 것 뿐이지요. 물론 그렇기 때문에 학생들이 학교 다니면서 개인적으로 조금 큰 프로젝트를 하나 진행해보는 것은 참 중요합니다만, 이때문에 한국 대학교 컴공 교육이 문제라고 생각하지는 않습니다. 전기전자학과 나온 학생한테 납땜질 못한다고, 기계공학부 학생한테 용접 못한다고 뭐라고 하는 것이랑 비슷하지요.

(물론 면접 보신 분을 변호하는 건 아닙니다. 하지만 컴공학위와 프로그래밍 능력은 직접적인 관계가 없다는 이야기를 드리고 싶었을뿐.)
Commented by darkjl at 2009/05/21 15:26
컴공에서 컬리큘럼에 프로그래밍이 없을까요 ? 있어요 ㅡㅡ ;; 글구 컴공은 하드웨어 쪽이라 API나 어셈블러 그리고 가장중요한 C언어로 통제프로그램을 짜야 하는데 ㅡㅡ
상관없다는게 말이 안되죠 ㅡㅡ ;;

Commented by highseek at 2009/05/21 16:37
저도 나름 학부생입니다. 4년간 코딩량이 많은지 적은지야 뭐 보기에 따라 다르겠지만.. 여태 학과에서 과제로 나온 코딩들만 봐도 저 문제 정도의 수준은 훨씬 뛰어넘는걸요.

Computer Science가 프로그래밍을 배우는 학과인 건 아니지만, 기본으로 프로그래밍 커리큘럼이 있고, 다른 과목에서도 프로그래밍 스킬은 기본적으로 사용됩니다. 특히 OS 수업이나 Embeded Software 수업 같은 경우 프로그래밍 스킬 없이 수업을 소화할 수 없겠죠. 저 학부 3학년때만 하더라도 C언어로 embeded OS 하나 잡아 시뮬레이팅 하고 했었습니다. 스택 잡아서 컨텍스트 밀어넣고 스위칭하고 등등.. ucos 같은 간단한 os에 파일시스템을 구현해 넣는다든지, unix에 system call 몇개 구현해넣고.. 이런 과제들을 많이 했던 기억이 나네요. 데이터통신이나 무선네트워크 같은 수업에서도 학부 과정으로 tcp 내부 구현하고 프로토콜을 개선한다든지, weighted fair queue 알고리즘을 구현해 본다던지.. 하는 과제들은 학부 수준에서 충분히 하는 것들입니다.

컴공 교육의 어떤 커리큘럼이나 교육의 질 등의 문제라기보다는, 학생이 그 교육을 제대로 수용할 수 없는 시스템이 문제인 것 같습니다. 사실 커리큘럼이나 강의자료, 강의 수준 들은 솔직히 국내 대학이나 외국의 유명 대학들이나 별반 다르지 않다고 봅니다. 뭐, 이것도 결국 전반적인 컴공 교육의 문제이긴 하네요.
Commented by Hmm at 2009/05/21 15:35
dasony님, 무리한 주장을 하시네요. 그건 좀 아닌 것 같습니다. 1, 2학년 때 배웠던 물리 문제를 물리학과 학생이 못 풀거나 미적분학 문제를 수학과 학생이 못 푸는 일은 없을 것입니다. 아무리 computer science 학과가 실전 프로그래밍 교육학과는 아니랄지 모르지만 문자열 못 뒤집으면 솔직히 답이 없는 거죠.

그리고 computer science 학과 갓 졸업한 학생이 코딩 능력이 없다고 하는 것은, 실전 API 및 각종 framework, library 따위에 익숙하지 않거나, 각종 현업 도구에 익숙하지 않다는 얘기지요. 프로그래밍 기초 체력이 부족하면 안 되는거지요.
Commented by 진혁군★ at 2009/05/21 16:14
이것도 사실 큰 오해인데.. 1학년 미적분학 잘 못푸는 수학과 학생 많습니다...
그게 그사람의 수학적 능력이 떨어져서가 아니라, 수학과 커리큘럼 보시면 알겠지만 수학과의 큰 틀은 1학년 미적분학처럼 증명할것이 적고, 계산이 많은 류를 실제적으로 이용하는 분야보단
정의 -> 정리 -> 증명의 3단계 과정을 지속적으로 반복해가며 논리적으로 수학 체계를 쌓아가는 과정이기 때문에 그렇습니다.
미적분학에 나오는 수많은 정리를 가져다주면 증명 잘 하는 학생은 많을지언정, 문제 못푸는 사람 많습니다.
Commented by Oppe1 at 2009/05/21 16:33
Hmm님, 컴공 나왔다고 꼭 코딩 능력이 있어야 하는건 아닙니다. 현 대학 커리큘럼에서는 컴퓨터 관련 과가 생각보다 다양하지 않아 자신이 공부하고자 하는 길이 아닌데도 컴공을 선택하는 경우가 많습니다. 만약 자신이 라우터나 스위치를 만지는 네트워크 쪽에서 일하고 싶어서 공부하고자 하는데, 선택권이 없어 컴공에 들어갔습니다. 과연 이런 경우에도 코딩 능력이 기본이 되어야 할까요? 그냥 학교 시험 패스할 정도로만 공부하는게 보통입니다. 그리고 학과 과목보다 관련 자격증(Cisco라던지)을 취득하기위해 더 열심히 공부하겠죠. 게다가 자신이 흥미있어 하는 과목이 아니니 시험만 끝나면 거의 다 잊어버릴게 분명하구요.
애초에 'IT업계 종사 = 컴공 = 소프트웨어 개발'이라는 생각을 버리셔야 합니다. 이런 생각 때문에 상대적으로 차별당하는 분야도 상당히 많습니다.
Commented by 백전백패 at 2009/05/21 17:08
열심히 코딩해서 댓글로, 트랙백으로 남기신 분들께는 미안한 말이지만, 위 코드들은 '알고리즘을 이렇게 하면 될 것이다'를 보여주기 위함이지 실제로 api화 해서 써먹어서는 안될 코드들이죠. (변수 스왑하기나 정렬 같은건 진짜로 공부하긴 했는지 알아보는 기초문제일 뿐입니다. C 책이나 알고리즘 책은 대부분 다루는 내용이거든요.)

실전에서 문자열이라는게 1바이트 영문자만 있는 건 아니거든요. 각 국가별 독자적인 2byte 코드나, 언어에 따라 몇 바이트를 사용할 지 모르는 유니코드 문자열을 위와 같은 방법으로 뒤집었다가는 제.대.로. 문제가 터지겠죠. ^^
또한, 문자열 안에 종단자인 \0이 있다고 가정하고 strlen을 사용하는 것은 문자열 자체에 \0이 포함되어 있거나 혹은 buffer overflow 공격에 노출될 위험이 있지요. 아무리 간단한 코드라도 문자열 포인터를 받을 때는 처리해야 할 길이를 함께 받아 처리해야 합니다. (공격이란 원래 예상치 못한 부분을 찌르는 겁니다.)

낚인(?) 분은 많으신데 여러 경우를 고민해서 작성하신 분은 안계신듯.
제대로 동작하는 api 만드는 일이 쉬운 것만은 아니죠.
몇몇 분들은 고작 코딩 가지고 열폭까지 하시는데, 제대로 짜라고 한 것도 아니고 그저 이력서에 C라고 써있으니 어느 책에나 다루는 기초문제 내어본 것 뿐입니다. 뭘 이런걸 가지고...
Commented by highseek at 2009/05/21 19:25
원래 제대로 하려면 ansi, UTF-8, UTF-16, UTF-32 등의 모든 경우를 고려해서 각각 만들어야 하겠지요. 그럼 대충 케이스별 함수를 만든 뒤 실제 입력받는 함수에서는 문자열을 검사해서 맞는 케이스의 함수로 보내는 식으로 이루어지겠죠. 뭐 이 문제에서는 그런것 보단, 그저 간단한 기본 개념 정도를 묻는거라고 봅니다 :)

사실 little이냐 big이냐 의, endian 문제도 고려해야 하고(만약 서버-클라이언트 환경에서 쓰일 경우), 말씀하신 \0값의 예외문제, 즉 버퍼 오버플로우에 대비한 것도 생각해야 하고.. 사실 사이즈를 받아 처리하는 것도 위험이 전혀 없진 않지요. 사이즈가 엉뚱할 수도 있으니까.. ebp와 esp를 체크해서 버퍼사이즈를 계산하고 문자열 사이즈를 받거나 널문자 위치를 찾아서 여하튼 문자열 사이즈가 버퍼사이즈 이상 넘어가면 오버플로우 위험이라 판단하여 널문자를 강제 삽입한다던지 뭐 이런 루틴도 있어야 할 겁니다.
원래 제대로 하려면 이것저것 생각할 게 많아지는 법이죠.
Commented by 백전백패 at 2009/05/21 19:37
면접관 보는 앞에서 즉시 코딩해야 하는 입장이라면 허접한 코드라도 대강 작성하고 나머지는 말로 때워도 괜찮지만, 여기 작성하신 분들 대부분은 매뉴얼도 볼 수 있고 인터넷도 찾아볼 수 있는 환경이니 문제를 있는 그대로가 아닌 약간 더 고민해서 보다 완성도 높은 답을 제시해주었으면 좋을 뻔 했다라는 나름의 아쉬움의 표현입니다. :)
Commented at 2009/05/21 23:12
비공개 덧글입니다.
Commented by Lohengrin at 2009/05/21 23:38
아 링크는 굳이 허락 안 받으셔도 됩니다. 오른쪽 상단에 CC 라이센스를 기본으로 하기 때문에 올리셔도 됩니다. ^^
Commented by eizt at 2009/05/22 09:33
컴퓨터 공학에서 배우고 한사람이지만,,;;; 아직 이러한 몇몇 논쟁에 대하여 정확한 이해를 못하는것을 보면;; 정말 가야할길이...

결국에는 C하고는 완전히....
Commented by Lohengrin at 2009/05/25 20:27
하하 천천히 하시면 됩니다.
Commented by noisy2 at 2009/05/22 11:28
갑자기 이런 문제를 받으면 생각이 안날지도 모르겠습니다만,
C기본서에 필수적으로 들어있는 순환과 포인터를 이용하는 예제군요..
수상경력있는 분이 저렇게 코딩했다니 좀 충격이네요...
Commented by Lohengrin at 2009/05/25 20:27
아무래도 다른 내용들까지 의심스럽죠
Commented by 당근무침 at 2009/05/22 18:23
void reverse(char* str)
{
strcpy(str, "edcba");
}
<== 이 답이 정말로 끌리네요!!!

이렇게 프로그래밍 하신 분 사회생활 잘할 것 같습니다.



Commented by Lohengrin at 2009/05/25 20:12
하하 그런 분 있었다던데.. 떨어진것으로;
Commented by muzie at 2009/05/23 03:08
글쎄요.. 제생각은 조금 다르네요.
저건 컴공 교육에 대한 문제라기보다 기본적인 문법 지식이 헷갈렸을 수도 있다고 봅니다.

가령 비트 연산자나 static 구조체에 함수포인터 assign, 혹은 default bit 길이 설정하는 주로 리눅스 커널에서 많이 보이는 문법같은건 접해보지 않은 사람이라면 거의 모르겠죠. 하지만 조금 아는 사람이라면 알긴 하지만 확실히 기억나지 않아서 버벅댈 수도 있다는 말입니다.


코더, 프로그래머의 능력을 판가름하는건 제가 겪어본 바로는 언어에 얼마나 통달했고 말고의 문제가 아니라 책이든 뭐든 자료를 보고 이해해서 [중간에 나몰라라 관두지 않고 끝까지 해내보이는] 능력인것 같네요.
Commented by Lohengrin at 2009/05/25 20:12
글쎄요. 수도 코드라도 제대로 작성 했다면 아무얘기 안 했겠죠.

:         :

:

비공개 덧글

 

◀ 이전 페이지다음 페이지 ▶