'컴퓨터/프로그래밍'에 해당되는 글 37건

  1. 2007.03.21 간단하고 쉬운 프로그래밍 문제 3 : 피보나치 수열 (4)
  2. 2007.03.11 간단하고 쉬운 프로그래밍 문제 2 : 소수 구하기 (4)
  3. 2007.03.10 간단하고 쉬운 프로그래밍 문제 1 : 받은 수 만큼 더하기 (2)
  4. 2007.03.05 [문제] 초등학생도 풀만한 기초 문제 – 9 : 다이아몬드 만들기
  5. 2007.02.25 [해설] 초등학생도 풀만한 기초 문제 2 – 삼각형 변형 1 해설
  6. 2007.02.15 [문제] 초등학생도 풀만한 기초 문제 – 8 : 이등변 삼각형 4
  7. 2007.02.14 [문제] 초등학생도 풀만한 기초 문제 – 7 : 이등변 삼각형 3 (2)
  8. 2007.02.13 [문제] 초등학생도 풀만한 기초 문제 – 6 : 이등변 삼각형 2 (2)
  9. 2007.02.12 [문제] 초등학생도 풀만한 기초 문제 – 5 : 이등변 삼각형 1 (2)
  10. 2007.02.11 [문제] 초등학생도 풀만한 기초 문제 – 4 : 삼각형 변형 3

간단하고 쉬운 프로그래밍 문제 3 : 피보나치 수열

지난번 문제에 대해 아무리 생각해도 너무 오버해서 낸 것 같아서(-_-;) 이번에는 조금 쉬운 문제로 나가겠습니다. 바로 피보나치 수열입니다.

문제
입력 받은 수 안에서의 피보나치 수열을 구하는 프로그램을 작성하시오.

100안에 있는 피보나치 수열
1 1 2 3 5 8 13 21 34 55 89

조건
초급 : 어떻게든 작성하세요 -_-;;
중급 : 재귀함수를 이용해서 작성하세요.

흐름대로라면 1편에 이어서 나와야 했지만 이제야 이 문제를 기억해 내서 지금 냅니다 -_-;
이 문제 역시 중학교 수준이니 어렵지 않게 푸실 수 있으실 겁니다. 아, 소스는 올리더라도 비공개 아시죠?

Trackback 1 Comment 4
  1. Favicon of http://stellar.pe.kr/tt/ BlogIcon StarLight 2007.03.21 02:03 address edit & del reply

    일반항 사용.... (죄송합니다;;)
    점화식을 재귀함수화 시키면 될 듯 하네요.

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.03.21 21:02 address edit & del

      뭐, 별거 있나요 ^^;

  2. Favicon of http://deios.anitouch.net/world/ BlogIcon Deios 2007.03.26 19:22 address edit & del reply

    하하핫...
    아직 저번 문제도 풀기 전인데...
    또 새로운 문제가 나왔네요 ㅠ.ㅠ;;;

    저번주랑 이번주는 정말 정신이 없어요 ㅠ.ㅠ;;;
    블로그도 이전하고... 이래저래... ㅠ.ㅠ;;;

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.03.26 20:33 address edit & del

      천천히 하세요 ^^

간단하고 쉬운 프로그래밍 문제 2 : 소수 구하기

저번 문제는 삼각형보다 쉬워서인지 금방금방 푸시더군요. 난이도를 좀 더 올릴까, 아니면 그냥 이대로 낼까 고민 중입니다. ㅎㅎ

문제
2부터 입력 받은 수 사이의 소수를 구하는 프로그램을 작성하세요
여기서 소수는 1과 자기 자신 이외에 나눠지지 않는 수를 말하는 것입니다.

1~100 사이의 소수
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

조건
초급 : 어떻게든 작성하세요 -_-;;
중급 : 속도를 좀 더 올리기 위해 소수를 배열에 넣어 처리를 하고 단순한 방법보다 더욱 빠른 속도로 작동하게끔 작성하세요.(여러 방법이 있음)
고급 : 배열대신 자료구조에 나오는 Linked list를 사용하고, unsigned long형이 지원되는 숫자까지(32bit C, C++은 32bit까지, 64bit C, C++과 C#, Java는 64bit까지) 처리되도록 하며 프로그램에 주는 옵션에 따라 실행 결과를 옵션에 지정된 파일로 출력하게끔 작성하세요. 물론 중급 조건 모두를 만족해야 합니다.

순식간에 중학교 수준으로 난이도 상승! 하지만 잘 하실 수 있죠?
이번에도 역시 소스를 올리셔도 좋습니다. 다만~
비공개 처리 해 주세요 -_-+

Trackback 1 Comment 4
  1. Favicon of http://dworld.tistory.com/ BlogIcon Deios 2007.03.15 18:13 address edit & del reply

    흠흠... 저한테는 대학교 과정이군요 ^.^;;;
    전에도 말씀드렸다시피 프로그래밍이나 알고리즘이나...
    전혀 배운적이 없어서... 하하핫...
    20일날 외박나가는데... 외박 나가면 수학책(정수론)좀 찾아보고 풀어봐야 겠네요^^;;;
    근데 중급 조건에... 소수를 배열로 저장하라는 조건이 있는데...
    구해진 소수를 배열로 저장해서 비교할 수와 나누는건가요???
    하하핫...
    저한테는 너무 어렵네요 ^.^;;;

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.03.15 19:52 address edit & del

      제가 중학교 수준이라고 한 이유는 단순합니다.
      중학교 교과서에 소수가 나오거든요 -_-;;;
      그리고 저 조건을 보고 그것을 유출해 내다니. 센스 있으시군요! 조금만 하시면 금방 실력이 늘으시겠습니다^^

  2. Favicon of http://dworld.tistory.com BlogIcon Deios 2007.03.16 19:05 address edit & del reply

    그렇군요...
    그럼 중학교 수준 = 초급 이겠네요 ^.^;;;
    초급이야 뭐... 그냥 무한정 돌리면 되니깐...
    고급의 지정된 파일로 출력이라 함은 어떤걸 말씀하시는건가요???
    하하핫... ㅠ.ㅠ;;;

    다행히 부대안에 정수론 책이 있어서 찾아 봤는데...
    생각보다 힘드네요... 일단 세가지 정의를 이용해 볼까 합니다...
    N보다 작은 소수의 개수 구하는 정의랑...
    N이 소수인지 알아보려면 root(n)보다 작거나 같은 소수로 나눠보면 된다는 정의랑...
    한가지는 잘 기억이 나지 않는데...
    한 정의의 역이 거의항상 성립한다는 점을 이용한걸로 아는데...

    하핫... 앞으로도 많은 도움 주세요 ^.^;;;

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.03.17 00:00 address edit & del

      프로그램을 실행시킬때 인수로 파일명을 주면 그 파일명을 가지는 파일을 만들고 거기에 자료를 넣는것입니다. -_-+

      그리고 제가 사용한 방법이 3가지 정의중 하나인것 같네요 ^^;

간단하고 쉬운 프로그래밍 문제 1 : 받은 수 만큼 더하기

지난번 초등학생도 풀만한 기초 문제 편에 이어서 역시 제가 고등학교때 풀었던 간단한 문제를 내보도록 하겠습니다~ ^^
2번째 시즌으로 넘어왔으니 난이도를 소폭 올려 보겠습니다. 준비 되셨나요?

문제
숫자 1개를 입력 받아 1에서부터 입력 받은 수까지의 모든 숫자를 더하는 프로그램을 작성하시오.

조건
초급 : 어떻게든 작성하시오 -_-;
중급 : 재귀함수를 사용하시오.
고급 : 1에서 부터 받은 수까지 일일이 더하는 방법보다 더 빠르고 효율적인 방법을 찾아 만드시오.(저는 1가지 방법 알고 있음)

참고로 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 입니다.

이번부터는 댓글로 소스를 올리셔도 좋습니다. 다만!!
비공개로 올리세요 -_-;;

Trackback 1 Comment 2
  1. Favicon of http://signpen.net BlogIcon 싸인펜 2007.03.11 01:57 address edit & del reply

    재귀함수 방법까지는 감이 옵니다^^ㅋ

    고급 등급에서의 방법은 저도 한가지 방법이 대강 머릿속에 그려지는데, 실제로 한번 코드를 작성해 봐야 정리가 될것같네요.
    화현님, 저도 도전~!!

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.03.11 11:07 address edit & del

      저 문제가 재귀함수의 가장 기본적인 문제라 한번정도는 풀어 보셨을겁니다 ^^;
      고급같은 경우에는 알고보면 중급보다 쉽습니다. 단지 모르면 정말 어려운거죠 ㅎㅎ

[문제] 초등학생도 풀만한 기초 문제 – 9 : 다이아몬드 만들기

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

조건 1. 반복문 3개, 출력문 3개, 변수 2개, 별도의 함수 1개만을 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

무려 여태까지 나온 모든 문제를 1개로 만든 문제!! 다이아 만들기 입니다! 삼각형 문제의 보스죠! 군대에 갔다 오신 분들이라면(혹은 서든이나 스포를 하신 분이라면) 저것이 왜 다이아인지 아실 것입니다.(소위 ㅎㅎ)
이번 문제 역시 조건은 전혀 변하지 않았습니다. 여태까지 나온 문제들을 열심히 푸신 분이라면 분명 잘 풀 수 있으실 거에요 ^^
그리고 다 푸신 분들은 입력 받은 만큼 삼각형의 크기가 변하게도 만들어보세요^^
그리고 이번에도 역시 소스 공개 금지!

예고] 다음은 5각 다이아입니다!! 라고 하고 싶지만 슬슬 지겹기도 해서 스킵!(위에 문제에서 약간 옆으로 늘리고 위에만 자르면 되니…) 그런고로~ 배열을 이용한 간단한 문제에 들어가겠습니다. 그러니 이젠 배열을 예습해두세요 ^^ 그리고 이제는 (아마도)절대 해설을 안 하겠습니다. 그리고 조건 역시 크게 바뀔 것입니다.(나중에 보시면 아실 것임) 그럼 다음에 봐요~~

덧] 5각 다이아 만들어 보고 싶으신 분은 싸인펜님의 JAVA를 이용한 For문 활용(다이아몬드, 하트 만들기) 편을 보고 만드세요~ 제 소스는 보지 마시고요~.

Trackback 0 Comment 0

[해설] 초등학생도 풀만한 기초 문제 2 – 삼각형 변형 1 해설

저번의 예고대로 지난 문제들이 어렵다는 의견을 수렴해서 간단한 힌트를 드릴 겸 해설을 하도록 하겠어요.

우선 기본 삼각형을 거꾸로 만든

*****
****
***
**
*

이것!... 설마 못푼사람은 없겠죠?
하지만 못 푼 분들을 위해 간단히 설명해 드리겠습니다.

보통 for문을 쓸 때 0~4까지 이런 식으로 쓰지요?
하지만 4~0까지… 이런 식으로 쓴다는 생각을 잘 못하시더라고요 -_-;;;;
넵, for문은 꼭 작은 수에서만이 아니고 큰 수에서 줄어들게끔 도 쓸 수 있으며, C문법을 따르는 언어 같은 경우에는 값이 아닌 전혀 다른 것이 들어갈 수 있습니다

- C 문법을 따르는 언어의 경우 –

for(변수 초기화; 조건문; 증가연산)
{
 실행될 문장들
}


 

- Basic 문법을 따르는 언어의 경우 –

For 변수 = 시작숫자 To 끝숫자
 실행될 문장들
Next


이런 식으로 외우는 분들이 참 많습니다. 어느 정도 틀린 말은 아니지만 정확하지는 않죠.
하지만 좀더 정확히 표현을 하면

- C 문법을 따르는 언어의 경우 –

for(반복문 실행 이전에 실행할 문장; 조건문; 조건문을 검사하기 전 실행할 문장)
{
 실행될 문장들;
}


 

- Basic 문법을 따르는 언어의 경우 –

For 변수 = 시작숫자 To 끝숫자 Step 증가, 혹은 감소할 수치
 실행될 문장들
Next 변수

우선 베이직의 경우에는 뒤에 Step문이 있는지 모르는 초보자들이 많습니다. 이 옵션에 따라 증가할 수도, 감소할 수도 있지만 보통 생략형으로 사용하다 보니 잊혀지기 쉽죠.
다음 C같은 경우에는 저게 무슨 말인가~ 싶으실 분들이 꽤 될 것입니다. 하지만 저것을 while문으로 풀어보면 조금은 이해가 쉽죠 (비교하면서 보세요)

- for 문을 while문으로 바꿀 시 –

반복문 실행 이전에 실행할 문장;
while(조건문)
{
 ~
 실행 문장들;
 ~
 조건문을 검사하기 전에 실행할 문장;
}

이런 식으로 표현됩니다. 그래서
for(printf("당신은 사랑 받기"); !printf(" 위해 태어난 사람"); printf("일까나... 까나..."));
이런 식으로 실행해도 아무 문제 없게 되는 것입니다 -_-;;;

조금 많이 이야기가 샜는데
결국 이전에 제가 해설했던 그 문제를 0~4까지가 아닌, 4~0까지 돌리면 해결이 됩니다 ^^
어때요 참 쉽죠?(니가 로스씨냐?)

예고] 다음 시간에는 삼각형 변형 2, 3번 문제를 해설해드릴게요. 그럼 바이~.

Trackback 0 Comment 0

[문제] 초등학생도 풀만한 기초 문제 – 8 : 이등변 삼각형 4

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

    *
   **
  ***
 ****
*****
 ****
  ***
   **
    *

조건 1. 반복문 3개, 출력문 3개, 변수 3개 이하, 별도의 함수 1개만을 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

반대로 만들어 봤어요, 어렵지 않죠? 어렵더라도 잘 생각해 보고 열심히 풀어보세요.
소스코드 올리지 말고요~ ^^

예고] 다음 시간에는 지난 문제들이 어렵다는 의견이 종종 나와서 간단한 해설을 해 드리겠어요. 아주 자세하게는 아니지만 그래도 꽤 도움이 될 거에요 ^^ 그럼 다음에 만나요~~.

Trackback 0 Comment 0

[문제] 초등학생도 풀만한 기초 문제 – 7 : 이등변 삼각형 3

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

*
**
***
****
*****
****
***
**
*

조건 1. 반복문 2개, 출력문 2개, 변수 2개, 별도의 함수 1개만을 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

이번에도 삼각형 기본 문제에서 삼각형 1개 더 붙여놓은 듯한 문제! 하지만 조건은 맨 처음 낸 문제인 삼각형 기본 형태와 거의 동일합니다! 과연 어떻게 푸는 것일까요!?
그렇다고 다 푼 사람은 소스 올리지 마세요~~

예고] 다음 시간에는 이것을 반대로 만들 거에요 그럼 다음에 만나요~.

Trackback 0 Comment 2
  1. Favicon of http://signpen.net BlogIcon 싸인펜 2007.02.15 03:20 address edit & del reply

    화현님이 내주시는 문제를 꾸준히 풀어보고 있지만 가끔은 조건이 너무 까다로워서 끙끙댈때가 있습니다. 어떻게든 풀어내긴 하지만, 쉽지만은 않네요^^ㅋ

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.02.15 08:59 address edit & del

      사실 저 조건이 힌트입니다. ;)

[문제] 초등학생도 풀만한 기초 문제 – 6 : 이등변 삼각형 2

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

*********
 *******
  *****
   ***
    *

조건 1. 반복문 3개, 출력문 3개, 변수 2개만을 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

어제 예고대로 뒤집었어요 ^O^

소스 올리면 혼낼 거에요! -_-+

예고] 다음 시간에는 저것을 90도 뉘울거에요. 그럼 다음에 만나요~.

Trackback 1 Comment 2
  1. Favicon of http://mydb.tistory.com BlogIcon 파도소리 2007.02.14 13:31 address edit & del reply

    90도 뉘우는게 더 쉬울거 같아요 -0-

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.02.14 15:35 address edit & del

      그런가?
      있다 올릴테니까 조건 보고 생각해봐 ㅎㅎ

[문제] 초등학생도 풀만한 기초 문제 – 5 : 이등변 삼각형 1

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

    *
   ***
  *****
 *******
*********

조건 1. 반복문 3개, 출력문 3개, 변수 2개만을 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

직각 삼각형이 옆에 달라붙은듯한 모양이군요! 그렇다고 삼각형 1개 더 만들어 옆에 붙이면 안돼요~! 이번 문제는 삼각형 변형 문제에서 조금만 수정하면 금방 풀 수 있어요. 그럼 다 푼 사람은 코드 올리지 마시고 다음 문제를 기다려주세요~

예고] 다음 시간에는 저것을 뒤집어 볼 거에요. 그럼 그때까지 바이바이~.

Trackback 1 Comment 2
  1. NaCl 2007.02.12 21:51 address edit & del reply

    얼마전에 프로그래밍 공부할때 했었는데 초보주제에 저걸 벌써 힘들어지네요;;;

    • Favicon of http://www.myhyuny.net BlogIcon 화현 2007.02.12 22:35 address edit & del

      안그래도 어떤 의미에서 저 문제는 확실히 어렵지요 -_-;;

[문제] 초등학생도 풀만한 기초 문제 – 4 : 삼각형 변형 3

다음과 같은 결과값을 화면에 출력하는 프로그램을 작성하세요.

*****
 ****
  ***
   **
    *

조건 1. 반복문 3개, 출력문 3개, 변수 2개만을를 사용할 것
조건 2. 최소한의 연산만으로 작동 시킬 것.

직삼각형의 마지막 문제! 이번에도 소스 올리기 없기에요!

예고] 다음 시간에는 이등변 삼격형을 만들어보겠어요, 그럼 다음시간까지 안녕~.

Trackback 1 Comment 0