Find three ways to change one character in the following code so that the resulting
code will print exactly 20 minus signs

Remember: for each solution you can only change "one" character from this original code:


int i, n=20;
for(i =0 ; i < n ; i--)
printf("-");

This is a question asked in an Interview in Intel.

인텔의 개발자 면접에서 나왔던 문제라고 합니다. 기존의 소스에서 한개의 문자만 수정하여 마이너스(-)가 20개 찍히게 하라는 문제인데요. 3가지 답이 있다고 하네요. 답을 아시겠습니까?

more..

이 글의 관련글

트랙백을 보내세요

트랙백 주소 :: http://theeye.pe.kr/trackback/180
  1. 인텔 면접 문제 중 하나

    Tracked from 괴짜 프로그래머의 일상사~@@ 2007/10/21 23:54

    블로그 보다가 재미난 글을 보게 되었습니다. 인텔 면접 문제라고 하는데 오래된 건지도 모르겠네요. 본 것 같기도 하고 가물가물 합니다. 각설하고 문제를 살펴보면 이렇습니다. 아래 코드에서 한 글자만 고쳐서 -가 20개가 출력되도록 만드는 것 입니다.int i, n=20; for(i =0 ; i &lt; n ; i--)   printf("-");어렵진 않지만 잠시나마 지적 유희를 즐기고 싶으신 분들을 위해서 답은 가려두겠습니다. 한번씩 생각해보세요...

  2. 인텔 면접 문제중 하나랍니다..

    Tracked from 공부하는 용가리. v2 2007/10/23 18:06

    자세한 내용은 트랙뷁으로 확인..심심한 분들에게는 한번쯤 생각해봄직한 재미있는 문제.

댓글을 달아 주세요

  1. codewiz 2007/10/21 23:44

    좋은 글 잘 읽고 갑니다.
    두 번째 답은 n--가 되야 하지 않을까요? -i는 change 보다는 add 성격이 강하니까요. *^^*

    • 아이 2007/10/22 10:02

      그 단어의 뜻에 너무 중요성을 두실 필요가 없을것 같습니다.
      change를 굳이 꼭 어떤 대상을 변경시켜야만 된다고 생각하시지 마시고.
      '변화'라고 생각하시면, '한개의 문자로 변화를 주어'정도로 생각하시면 될꺼 같습니다. 그리고 그렇게 중요한 것이었다면...흠...i앞에 공백문자를 -로 바꾸죠 뭐~하핫^^;

    • codewiz 2007/10/23 12:25

      제가 뭔가 심하게 착각을 했나 봅니다. ㅎㅎ
      미친게 아닐까? 하는 생각이 듭니다. 흠흠.

      근데 제가 트랙백을 단 이유는 그 날 댓글이 차단 됐다고 남겨지지 않아서 그랬거든요. 그나저나 위의 글은 제가 답을 제가 잘못보고 올린 글 입니다. ^^

      즐건 하루 보내세요.
      앞으로도 종종 놀러오겠습니다. *^^*

    • 아이 2007/10/23 12:54

      하핫, 네 그러셨군요.
      아이피가 블랙리스트 등록되어 계시던데, 지금은 회사이신가 봅니다?
      집에 가시거든 http://www.spamhaus.org가셔서 아이피 한번 찍어보시기 바랍니다. 등록되어 계시다면 바로 해제할 수 있어요^^

  2. 이상우 2009/06/12 18:05

    풀다가 두가지 방법밖에 못찾아서 답을 살짝 봤습니다만..
    제가 푼 방법이 저기엔 없네요.
    모두 세가지 방법만 있는건 아닌가 봅니다.

  3. 이상우 2009/06/12 18:08

    아니군요...
    함정이었습니다...
    제가 찾았던 다른 방법에는 21개가 찍히는군요...ㅠ,ㅠ

    • 아이 2009/06/12 21:47

      저것 말고도 다른 답이 있을수도 있겠지만, 적어도 저는 저것 이상 찾아내진 못했습니다.
      검색을 해봤는데 다른 분들도 크게 벗어나진 않는것 같았고요.^^

비밀글 (Serect)
댓글 달기 (Submit)