[[TableOfContents]] = AClass = == 소개 == * 목표 : C부터 시작하여 ìžë£Œêµ¬ì¡°ê¹Œì§€ ì •ã…‹ë³µã…‹ * 시간 : 매주 ìˆ˜ìš”ì¼ ì˜¤í›„ 3시~4시반. * ê³¼ì œ : ê³¼ì œëŠ” 월요ì¼ê¹Œì§€ jereneal20@네ì´ë²„.컴으로 보내주세요. * êµ¬ì„±ì› : * ë©˜í† : [김태진] * 멘티 : 곽길문, ë„ìƒí¬, 한송ì´, 황혜림 * 수업 ê³„íš : * 1주차(5/9) - ì‹¤ë ¥ ì ê²€ ë° ë³„ì°ê¸°(for문) * 2주차(5/16) - 함수, ë°°ì—´ + Search * 3주차(5/23) - 다차ì›ë°°ì—´, í¬ì¸í„° + Search, Sort * 4주차(5/30) - 구조체, 2중í¬ì¸í„° + Stack, Queue * 5주차(6/6) - C++ 기초, String + Linked list (쉬는 ë‚ ë„ ì§„í–‰) * 6주차(6/13) - 1~5주차를 소화하지 못 í• ê²½ìš°ë¥¼ 위한 한 주. * ë°©í•™ ì¤‘ì— ìŠ¤í„°ë””ë¥¼ í• ê²½ìš° - Class, Object + Tree, Graph * ì¼ë°˜ì ìœ¼ë¡ ê±°ì˜ ë¶ˆê°€ëŠ¥í•œ ì§„ë„입니다.. 어디까지 나가ëŠëƒëŠ” 얼마나 해오시ëƒì˜ ì—´ì˜ì— ë‹¬ë ¤ìžˆìŠµë‹ˆë‹¤. * ì œê°€ 하는 부분보다 스스로 해야하는 ë¶€ë¶„ì´ ì ˆëŒ€ì 으로 많습니다. * ê³¼ì œë°© [[pagelist(^새싹êµì‹¤/2012/AClass/)]] == 1회차(5/9) == === 수업내용 === * ì´í•´ë„ 테스트, if문 연습, for문 연습 === ê³¼ì œ === * ì½”ë”©ê³¼ì œëŠ” ì™„ì „í•œ 프로그램으로 ì¨ ì£¼ì‹œê³ (ì—러나지 않ë„ë¡), ì„œìˆ í•˜ëŠ” ë¬¸ì œëŠ” 간단하게(1~3줄) ì¨ ì£¼ì„¸ìš”.^^ * 코딩한 ê²ƒì€ ê·¸ëƒ¥ 파ì¼ì— ë³µì‚¬ë¶™ì—¬ë„£ì–´ë„ ë˜ê³ , .c파ì¼ì„ ë³´ë‚´ì£¼ì…”ë„ ë©ë‹ˆë‹¤. * 완성하지 ëª»í•´ë„ ì¢‹ìŠµë‹ˆë‹¤. ê¼ ìžê¸° 힘으로 í•´ 주세요.(ì˜ê²¬ êµí™˜ì€ 가능) * 완성하지 못한 (코딩)ë¬¸ì œëŠ” ì–´ë–¤ë¶€ë¶„ì´ ë§‰í˜”ëŠ”ì§€ 간단하게 ì¨ë´ìš”~ * ì œê°€ ê³¼ì œ 내면서 ì„œìˆ ë¬¸ì œëŠ” ì±…ì— ìžˆëŠ”ê±¸ 냈으니 ê¼ Cì±… ë¹Œë ¤ì„œ ì½ì–´ë´ìš”~ * 복습 ë° ìƒëžµí•œ 기초 ë‚´ìš© 1. 컴파ì¼(Compile), 빌드(Build), ë§í¬(Linking)ì— ëŒ€í•´ ì±…ì—서 ì°¾ì•„ë³´ê³ ì¨ ì£¼ì„¸ìš”. 1. ìƒìˆ˜í˜•, ë³€ìˆ˜í˜•ì— ê´€í•´ì„œ ì“°ê³ , ê·¸ 예를 2개만 들어주세요. 1. charí˜•ì— ê´€í•´ ì¨ ì£¼ì„¸ìš”. ASCII코드를 통해 나타낸다는 ê²ƒì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ë„ ì¨ ì£¼ì„¸ìš”. 1. #include, ì „ì²˜ë¦¬ê³¼ì •ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , includeì˜ ì˜ˆë¥¼ 들어주세요. 1. #defineì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ ì“°ê³ , ì´ê²ƒì„ 사용한 '간단한' í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해보세요. 1. ++, --, &&, ||, +,-, !=, ==, = ì´ ë¬´ì—‡ì„ ì˜ë¯¸í•˜ëŠ”ì§€ 간단간단히 ì¨ ì£¼ì„¸ìš”. 1. if, else, else ifë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해주세요. else나 else if를 3번ì´ìƒ ì¨ ì£¼ì„¸ìš”. 1. switch-caseë¬¸ì„ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ ì§œ 보세요.(eg. Grade계산기 A,B,C) * 성ì ê³„ì‚°ê¸°ì˜ ê²½ìš° 90ì ì´ìƒ A, 80ì ì´ìƒ B와 ê°™ì€ êµ¬ì¡°ìž…ë‹ˆë‹¤. 100ì ë§Œì ì„ 10으로 나누면 switch문으로 í’€ 수 있습니다. 1. whileë¬¸ì„ ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 작성해 주세요. C수업시간ì´ë‚˜ ê³¼ì œì— ë‚˜ì˜¨ ê²ƒì„ ìƒˆë¡œ ì§œë³´ì•„ë„ ì¢‹ìŠµë‹ˆë‹¤. 1. 위 í”„ë¡œê·¸ëž¨ì„ do-while문으로 바꿔 '똑같ì€'í”„ë¡œê·¸ëž¨ì´ ë˜ë„ë¡ í•´ë³´ì„¸ìš”. 1. 위 í”„ë¡œê·¸ëž¨ì„ for문으로 바꿔 풀어보세요. 1. 2중 forë¬¸ì„ ì´ìš©í•˜ì—¬ ë‹¤ìŒ ëª¨ì–‘ì˜ ë³„ì°ê¸°ë¥¼ 작성해주세요. {{{ 1. ***** **** *** ** * 2. * ** *** **** ***** }}} 1. 혜림ì´ëˆ„나, ìƒí¬ëˆ„나만 푸는 ê³¼ì œ: ë‹¤ìŒ ë³„ì°ê¸°ë¥¼ 만들어주세요. * n으로 ì¼ë°˜í™”하여 ìž…ë ¥ë°›ì€ ë§Œí¼ ë³„ì°ê¸°ë¥¼ 하ë„ë¡ ë§Œë“¤ë©´ ë”ìš± 좋습니다. {{{ 1. ******* ***** *** * 2. * *** ***** ******* ***** *** * }}} * 위 ê³¼ì œê°€ 너무 ì‰¬ì› ë˜ ë¶„ë“¤ì„ ìœ„í•œ 추가 ê³¼ì œ 1. í˜•ë³€í™˜ì— ê´€í•˜ì—¬ 1. ì‚¼í• ì—°ì‚°ìžì— 관하여 1. 혜림ì´ëˆ„나, ìƒí¬ëˆ„나 ê³¼ì œë¥¼ forë¬¸ì„ ê°ê° 3ê°œ, 4개만 ì¨ì„œ 해보세요.(hint 2*n-1) * ì˜ˆìŠµì„ ìœ„í•œ ê³¼ì œ 1. 함수가 무엇ì¸ì§€ ì“°ê³ , ì˜ˆì œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어 주세요. 1. returnì´ ë¬´ì—‡ì¸ì§€ ì¨ ì£¼ì„¸ìš”. 1. í•¨ìˆ˜í˜•ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , voidíƒ€ìž…ì€ ì™œ return하지 않는지 ì¨ì£¼ì„¸ìš”. 1. 재귀함수가 무엇ì¸ì§€ ì¨ ì£¼ì„¸ìš”. 1. ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , 왜 ë°°ì—´ì´ëž€ ê°œë…ì´ ë‚˜íƒ€ë‚¬ëŠ”ì§€(왜 쓰는지) ì¨ ì£¼ì„¸ìš”. 1. ë°°ì—´ì„ ì‚¬ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ 만들어보세요. * 위 ê³¼ì œê°€ 너무 ì‰¬ì› ë˜ ë¶„ë“¤ì„ ìœ„í•œ 추가 ê³¼ì œ 1. 재귀함수를 ì´ìš©í•œ í”„ë¡œê·¸ëž¨ì„ í•˜ë‚˜ ì§œ 보세요.(eg.1~nê¹Œì§€ì˜ í•©, n!구하기등) 1. ë°°ì—´ì— ìˆ«ìžë¥¼ ë„£ê³ , ê·¸ ë°°ì—´ì— íŠ¹ì • ê°’ì´ ìžˆëŠ”ì§€ 찾는 프로그램(Search)ì„ ìž‘ì„±í•´ 주세요. === 후기 === ==== 황혜림 ==== * 1.컴파ì¼ëŸ¬ëž€? --> í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ë¥¼ 어셈블리어로 ë³€í™˜í•˜ê³ ê·¸ 어셈블리언어를 기계가 ì½ì„ 수 있는 언어로 변환 시켜주는 것 2.#include란? --> ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 우리가 사용하는 함수를 불러오기 위해ì¨ì£¼ëŠ” 것 3.return 0? --> í”„ë¡œê·¸ëž¨ì˜ ì¢…ë£Œë¥¼ 위해 4.ì •ìˆ˜í•˜ë‚˜ë¥¼ ìž…ë ¥ 받아서 10보다 í¬ë©´ ìž…ë ¥ë°›ì€ ì •ìˆ˜ì˜ ì œê³± ì¶œë ¥, 10보다 작으면 ìž…ë ¥ë°›ì€ ì •ìˆ˜ì˜ ë‘배를 ì¶œë ¥ --> {{{ #include <stdio.h> int main(){ int a; scanf("%d",&a); if(a>10) printf("%d",a*a); else if(a<10) printf("%d",2*a); return 0; } }}} 5. 별 ì¶œë ¥ {{{ #include <stdio.h> int main(void) { int i; int j; int n; int k; scanf("%d",&n); for(i=n;i>=1;i--) { for(j=1;j<n+1-i;j++) { printf(" "); } for(j=1;j<=2*i-1;j++) { printf("*"); } printf("\n"); } return 0; } }}} ==== ë„ìƒí¬ ==== -중복 for문 사용. -ì†Œê° : 눈높ì´êµìœ¡ ì´í•´ê°€ ì™ì™:*) ==== 곽길문 ==== * 오늘 ì²˜ìŒ ì‹œìž‘í•œ 새싹êµì‹¤ìˆ˜ì—…ë‚ ì´ì—ˆìŠµë‹ˆë‹¤. ì—ê³µ ....-L- 열심히 í•˜ê² ìŠµë‹ˆë‹¤. ..ㅋㅋㅋ오늘 ê³µë°±ì„ ë„£ëŠ” 부분 여러번 설명해줘서 ê³ ë§ˆì›Œìš”~ ê³¼ì œ 열심히 해서 매수업마다 ì‹¤ë ¥ìŒ“ì„게요.. 반성문ë˜ì–´ê°€ë„¤ìš” ..ã…‹ã…‹ã…‹ 다ìŒì—는 반성문ë§ê³ 씬나서 쓸게욤 ==== í•œì†¡ì´ ==== * ë‚´ê°€ ì œì¼ ëª»í•˜ëŠ”ê±° 같아서 다른사람보다 ë” ì—´ì‹¬ížˆ í•´ì•¼ê² ë‹¤ëŠ” ìƒê°ì´ 들어요 앞으로 열심히 해서 ì´í•´ë„ ìž˜í•˜ê³ ì•Œì•„ì„œ 척척 í• ê»˜ìš”! == 2회차(5/16) == === ê³¼ì œ === * ì¼ìš”ì¼ ì €ë…까지 í•´ 주시면 ë©ë‹ˆë‹¤. 조금 ì–´ë ¤ìš¸ 수 있으니 못 í’€ê² ë‹¤ëŠ” ë¬¸ì œëŠ” 미리 ë§í•´ì£¼ì„¸ìš”. * ì¶œë ¥í•´ì˜¤ì‹¤ ê³¼ì œëŠ” 코딩 ê³¼ì œ 중 풀지 못한 ê³¼ì œì˜ ì½”ë“œì™€ 글쓰는 ê³¼ì œë§Œ ì¶œë ¥í•´ 오시면 ë©ë‹ˆë‹¤. * ë³µìŠµê³¼ì œ 1.0ê³¼ 1000 사ì´ì˜ ì •ìˆ˜ë¥¼ ìž…ë ¥ë°›ì•„ ëª¨ë“ ìžë¦¿ìˆ˜ë¥¼ ë”하여 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ì§œ 주세요. * /10, %10 ë“±ì„ ì´ìš©í•´ì„œ í•´ 보세요. 2.소문ìžë¥¼ 대문ìžë¡œ 바꾸는 í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ 주세요. 3.ë‹¤ìŒ ëª¨ì–‘ì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ 주세요. * 한ìžë¦¬ 숫ìžì´ë‹¤ê°€ 2ìžë¦¬ 숫ìžì´ë©´ì„œ 깨지는 ê²ƒì€ ì˜ˆì™¸ì²˜ë¦¬í•´ì£¼ì…”ë„ ë˜ê³ 하지 ì•Šìœ¼ì…”ë„ ë©ë‹ˆë‹¤. * ë°©ë²•ì€ if(10>x) printf(" ");입니다. {{{ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 }}} 4.ë‹¤ìŒ ëª¨ì–‘ì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ 주세요. {{{ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 }}} 5.위 ë‘ í”„ë¡œê·¸ëž¨ì„ ì¼ë°˜í™” 시켜 ìž…ë ¥ë°›ì€ ìˆ«ìžë§Œí¼ ì¶œë ¥í•´ì£¼ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”.(위 í”„ë¡œê·¸ëž¨ì€ 21ì„ ìž…ë ¥) 6.위 프로그램처럼 숫ìžë¥¼ 순서대로 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ í”¼ë¼ë¯¸ë“œ 형태로 작성해 주세요. 7.위 프로그램처럼 숫ìžë¥¼ 순서대로 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ë‹¤ì´ì•„몬드 형태로 작성해 주세요. 8.아래 í”„ë¡œê·¸ëž¨ì„ ì°¸ê³ í•˜ì—¬ 60ì ì´í•˜ëŠ” F, 61~70ì D, 71~80 C, 81~90 B, 90~ Aì¸ í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. {{{ #include <stdio.h> int main(){ int num; printf("성ì ìž…ë ¥ : "); scanf("%d", &num); switch(num/10){ case 10 : case 9 : printf("A\n"); break; case 8 : printf("B\n"); break; default : printf("???\n"); break; } } }}} 9.101부터200ê¹Œì§€ì˜ ëª¨ë“ ì •ìˆ˜ë¥¼ ë”해서 반환하는 '함수'를 작성해주세요.(main문ì—는 sum=Sum(); printf("%d",sum);ì´ ìžˆë„ë¡í•´ì£¼ì„¸ìš”) 10.재귀함수를 ì´ìš©í•´ n!ì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ 주세요. 11.n!ì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ for문으로 작성해주세요. 12.재귀함수를 ì´ìš©í•´ 1부터10까지를 ë”하는 í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ 주세요. 13.ë°°ì—´ì— {7,4,2,9,3,1,2}ê°€ 들어있습니다. ì´ ë°°ì—´ì—서 3ì´ ìžˆëŠ”ì§€ 없는지를 찾아서 ì¶œë ¥í•´ì£¼ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. 14.ë°°ì—´ì— {7,4,2,9,3,1,2}ê°€ 들어있습니다. ì´ ë°°ì—´ì—서 1ì´ ëª‡ë²ˆì§¸ì— ìžˆëŠ”ì§€ë¥¼ 찾아서 ì¶œë ¥í•´ì£¼ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. (단, 7ì€ ì²«ë²ˆì§¸ìž…ë‹ˆë‹¤) 15.ë°°ì—´ì— {7,4,2,9,3,1,2}ê°€ 들어있습니다. ì´ ë°°ì—´ì—서 2ê°€ 있는지 없는지를 ê²€ì‚¬í•˜ê³ , 있다면 ì–´ë””ì— ìžˆëŠ”ì§€ ì „ë¶€ ì¶œë ¥í•´ì£¼ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. 16.ë°°ì—´ì— {7,4,2,9,3,1,2}ê°€ 들어있습니다. ì´ ë°°ì—´ì„ ì •ë ¬(오름차순으로)í•˜ê³ , ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. * ì˜ˆìŠµê³¼ì œ 1. 2ì°¨ì› ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ ì“°ê³ , 어떻게 ì„ ì–¸í•˜ëŠ”ì§€ë„ ìž‘ì„±í•œ ë’¤, ì´ë¥¼ ì´ìš©í•œ 간단한 í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. 1. srand()함수가 무엇ì¸ì§€ ì°¾ì•„ì“°ê³ , time()ì„ ì´ìš©í•´ ëžœë¤ìœ¼ë¡œ 숫ìžë¥¼ 하나 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ì£¼ì„¸ìš”. 1. í¬ì¸í„°ê°€ 무엇ì¸ì§€ ì“°ê³ , í¬ì¸í„°ë¥¼ ì„ ì–¸í•˜ëŠ” ë°©ë²•ì„ ì“°ì„¸ìš”. 1. ë°°ì—´ê³¼ í¬ì¸í„°ì˜ 공통ì ê³¼ ì°¨ì´ì ì„ ì°¾ì•„ë³´ê³ , ì¨ë³´ë„ë¡ í•˜ì„¸ìš”. === 후기 === ==== 곽길문 ==== * ë°°ì—´ê°œë…, 함수 ë°°ì› ìŠµë‹ˆë‹¤. ê³¼ì œ ì¼ìš”ì¼ê¹Œì§€ 내기, 프린트 해오기. ìˆ˜ì • ì‚¬í• ì´ì—ˆìŠµë‹ˆë‹¤. ==== ë„ìƒí¬ ==== * 함수, 재귀함수, ë°°ì—´. * 예습, 복습 열심히! :-) ==== 황혜림 ==== * 재귀함수 : ìžê¸° ìžì‹ 함수를 다시 불러서 사용하는 함수 {{{#include <stdio.h> int fact(int n) { int sum; if(n==1) return 1; else sum=fact(n-1)*n; return sum; } int main() { int n; scanf("%d",&n); printf("%d\n",fact(n)); return 0; }}}} swap : ë‘ ê°œì˜ ìˆ«ìžë¥¼ 바꾸기 위해서 ë°°ì—´ : 변수를 여러개 사용하지 않기 위해 사용 ëŠë‚€ ì : ì „ì— ë°°ì› ë˜ ë‚´ìš©ì´ë¼ì„œ ì•„ì§ ê¹Œì§€ëŠ” ì´í•´í•˜ê¸° ì‰¬ì› ë‹¤. ì½”ë”©ì„ ë§Žì´ í•´ë´¤ìœ¼ë©´ ì¢‹ê² ë‹¤:-@ * ì œê°€ ê·¸ ë¶€íƒì„ ë“œë ¤ë“œë ¸ìŠµë‹ˆë‹¤.. ê³¼ì œì˜ 80%ê°€ ì½”ë”©ì¸ í˜„ì‹¤! -[김태진] ==== í•œì†¡ì´ ==== * 함수, ë°°ì—´ì„ ë°°ì› ëŠ”ë° ìˆ˜ì—…ì‹œê°„ì— ë°°ì› ë˜ê²ƒ ê°™ì€ë° ì•„ì§ì€ 헷갈린다 미리 ì˜ˆìŠµì„ í•´ì˜¤ë‹ˆ 수업듣기 훨씬 편했다.앞으로는 예습 ë³µìŠµì„ ì² ì €ížˆ í•´ì•¼ê² ë‹¤. * ì œê°€ 다ìŒì‹œê°„ì— ì„¤ëª…í• ë¶€ë¶„ì´ ë§Žì„때는 ì˜ˆìŠµì„ í•´ì˜¤ëŠ”ê²Œ ì¤‘ìš”í•˜ê±°ë“ ìš”. 안그러면 ì‹œê°„ë‚´ì— í• ë‹¹ëŸ‰ì„ ì†Œí™”í•˜ì§€ ëª»í•˜ê² ë”ë¼ëŠ”.. -[김태진] == 3회차(5/23) == === ê³¼ì œ === ==== 복습 ==== 1~5.[www.koistudy.net ì½”ì´ìŠ¤í„°ë””] 100번~104번까지 Accept받기(ë“±ì—…ì´ ì•ˆë˜ì–´ 있으면 ê·¸ ë¬¸ì œì˜ ì†ŒìŠ¤ë¥¼ ì €í•œí…Œ 보내주세요) 6.í¬ì¸í„°ë¥¼ ì´ìš©í•´ 함수 swap 짜보기(ëŒ€ë¶€ë¶„ì˜ ì±… ì˜ˆì œì— ìžˆìŠµë‹ˆë‹¤. ë”°ë¼ ì¨ë³´ê³ 코드를 ì´í•´í•´ 보세요) 7.2ì°¨ì› ë°°ì—´(4x4) ë‘ê°œì˜ ê³±ì„ êµ¬í•˜ëŠ” 프로그램 작성. 8.ë‹¤ìŒ í˜•íƒœë¡œ ì¶œë ¥ë˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ì§œ 보세요. {{{ 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 20 19 18 17 16 21 22 23 24 25 }}} 9.í¬ì¸í„°ë¥¼ ì´ìš©í•œ ì˜ˆì œì½”ë“œ 하나를 ì§œ 보세요. 10.LinearSearch를 구현해보세요. ë°°ì—´ì€ 1000개로 ìž¡ê³ , random함수를 ì´ìš©í•´ 1부터 1000ê¹Œì§€ì˜ ìˆ«ìžë¥¼ ëžœë¤ìœ¼ë¡œ ë°°ì—´ì— ë„£ì€ í›„, 777ì´ ë°°ì—´ë‚´ì— ìžˆì—ˆëŠ”ì§€ë¥¼ 찾으면 ë©ë‹ˆë‹¤. í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰ì‹œí‚¬ 때마다 결과가 달ë¼ì§€ê² ì£ ? (rand()%1000ì„ í•œë‹¤ë©´ 1ì—서 1000ê¹Œì§€ì˜ ìˆ«ìžê°€ 나올 것입니다.) 11.Sort를 하나 구현해보세요. 11번과 ê°™ì€ ë°©ë²•ìœ¼ë¡œ 숫ìžë¥¼ ëžœë¤ìœ¼ë¡œ ë„£ì€ í›„, ì •ë ¬í•˜ê³ , ì •ë ¬ëœ ê²ƒì„ ì¶œë ¥í•˜ë©´ ë©ë‹ˆë‹¤. 12.ì´ë²ˆì‹œê°„ì— ë°°ì› ë˜ ë‚´ìš©ì„ ë°”íƒ•ìœ¼ë¡œ, int* a; int b;로 ì„ ì–¸í–ˆì„때 &a,a,*a,&b,bì— ê´€í•´ì„œ ê°ê° ì„¤ëª…í•˜ê³ , ì–´ë–¤ ê²ƒì´ ì–´ë–¤ 것과 ì¼ì¹˜í•˜ëŠ” 것ì¸ì§€ë¥¼ ì´í•´í• 수 있ë„ë¡ ì‰¬ìš´ë§ë¡œ ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 í›„ì— í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì¨ë³´ëŠ” ê²ƒë„ ì¢‹ì€ ë°©ë²•ì¼ ê²ƒìž…ë‹ˆë‹¤.) ==== 예습 ==== 1.구조체가 무엇ì¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요. 2.ë™ì í• ë‹¹ì´ ë¬´ì—‡ì¸ì§€ ì•Œì•„ë³´ê³ , ë™ì í• ë‹¹ì„ í•˜ëŠ” ë°©ë²•ì„ ì¨ ë³´ì„¸ìš”. 3.ì´ì¤‘í¬ì¸í„°ê°€ 무엇ì¸ì§€ ì•Œì•„ë³´ê³ , ì´ì¤‘ í¬ì¸í„°ë¥¼ ì´ìš©í•´ 2ì°¨ì› ë°°ì—´í˜•íƒœë¡œ 만들어보세요. 4.스íƒ, íê°€ 무엇ì¸ì§€ ì„¤ëª…í•˜ê³ , ì´ë¥¼ ì´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요. === 후기 === ==== ë„ìƒí¬ ==== * í¬ì¸í„° 변수, 2ì°¨ì› ë°°ì—´ * www.koistudy.net 가입하기 * 예습열심히! ë†í™œë„ 열심히! :D ==== 황혜림 ==== * í¬ì¸í„°ë³€ìˆ˜ì— 대해서 ë°°ì› ë‹¤. 조금 헷갈리긴 했지만 ê³¼ì œë¥¼ 하면서 ê°œë…ì„ ì •í™•í•˜ê²Œ ì•Œì•„ê°€ì•¼ê² ë‹¤. ==== í•œì†¡ì´ ==== * 피ë¼ë¯¸ë“œ 모양 별ì°ê¸° 쪽지셤, 2ì°¨ì› ë°°ì—´, í¬ì¸í„° 를 ë°°ì› ë‹¤. ê³¼ì œí• ë•Œ í•ìƒ ë””ë²„ê¸°í•˜ê³ ê³ ì¹˜ê³ í–ˆëŠ”ë° ì•žìœ¼ë¡œëŠ” 머리로 ìƒê° í•˜ê³ í•´ì•¼ê² ë‹¤ëŠ”ê²ƒì„ ìª½ì§€ì…¤ 보면서 ëŠê¼ˆë‹¤ã…œã…œ ê·¸ë¦¬ê³ ê³¼ì œ 빨리 ì˜¬ë ¤ì£¼ì„¸ìš”!! ==== 곽길문 ==== ì €ë²ˆì£¼ ê³¼ì œ 낸 것 ì¤‘ì— í”¼ë¼ë¯¸ë“œ 다ì´ì•„몬드 별ì°ê¸°ë¥¼ 다시 한번 ë³µìŠµí•´ì•¼ê² ìŠµë‹ˆë‹¤. í¬ì¸í„° 변수 예습 ë³µìŠµí•´ì˜¤ê² ìŠµë‹ˆë‹¤. == 4회차(5/31) == === ê³¼ì œ === * ê³¼ì œ 올리는 ê³³: [새싹êµì‹¤/2012/AClass/4회차] * ê³¼ì œëŠ” ì¼ìš”ì¼ ë°¤ê¹Œì§€ìž…ë‹ˆë‹¤. ëŠ¦ì–´ë„ ì›”ìš”ì¼ ì €ë…까진 ì˜¬ë ¤ì£¼ì„¸ìš”. * 후기 ì•ˆì“°ì‹ ë¶„ë“¤ì€ ì¨ì£¼ì„¸ìš” :) ==== 복습 ==== 1~6.Koistudy.net 106~111번 7.Koistudy.net 125, 152번(둘다 하기 힘들면 하나만) 3n+1 * acceptë°›ì€ ê±¸ 스샷으로 ì°ì–´ë„ 좋아요 :) ì €ë²ˆì£¼ì— acceptë°›ëŠ”ë° ì‹¤íŒ¨í•˜ì‹ ë¶„ë“¤ì€ ì €ë‚˜ 다른분들ì—게 물어ë´ì„œ 한번 í•´ë³´ë„ë¡ í•©ì‹œë‹¤^^ 8.ë‹¤ìŒ í˜•íƒœë¡œ ì¶œë ¥ë˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ì§œ 보세요. * ì €ë²ˆì£¼ ê³¼ì œ 8ë²ˆì— ì‹¤íŒ¨í•˜ì‹ ë¶„ë“¤ì€ í•´ë‹¹ ë¬¸ì œë¥¼ í‘¸ì…”ë„ ë©ë‹ˆë‹¤. ì•„ì§ ì´í•´ê°€ 잘 안가시면 ì €ë‚˜ 다른분들ì—게 물어ë´ìš” :) {{{ 1 3 2 4 5 6 10 9 8 7 11 12 13 14 15 21 20 19 18 17 16 }}} 9.2중í¬ì¸í„°ë¥¼ ì´ìš©í•˜ì—¬ 3x3í–‰ë ¬ì„ ë‘ê°œ ë§Œë“¤ê³ , ë‘ ë°°ì—´ì˜ í•©ì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ì§œë³´ì„¸ìš”. * hint) Dp = (int**)malloc(sizeof(int*)); 10.3회차 10ë²ˆê³¼ì œë¥¼ 해결해와 주세요. ì´ë²ˆì—는 반드시 ê³¼ì œì˜ ìŠ¤íŽ™ì„ ì™„ìˆ˜í•´ì™€ì•¼í•©ë‹ˆë‹¤. 모르면 물어ë´ë„ë˜ê³ , 다른 사람 코드를 ì°¸ê³ í•´ë³´ì•„ë„ ì¢‹ì•„ìš” 11.ì´ë²ˆì‹œê°„ì— ë°°ì› ë˜ ë‚´ìš©ì„ ë°”íƒ•ìœ¼ë¡œ, int* a; int b; int **c;로 ì„ ì–¸í–ˆì„때 &c,c,*c,&a,aì— ê´€í•´ì„œ ê°ê° ì„¤ëª…í•˜ê³ , ì–´ë–¤ ê²ƒì´ ì–´ë–¤ 것과 ì¼ì¹˜í•˜ëŠ” 것ì¸ì§€ë¥¼ ì´í•´í• 수 있ë„ë¡ ì‰¬ìš´ë§ë¡œ ì •ë¦¬í•´ë³´ì„¸ìš”. 12.ì˜ˆì œ 코드가 ì–´ë–¤ í–‰ë™ì„ ìˆ˜í–‰í•˜ê³ , 왜 그런 ê°’ì´ ë‚˜ì˜¤ëŠ”ì§€ 설명해 봅시다. {{{ int* a; int b=5; int** c; c=&a; a=&b; **c=9; printf("%d %d",*c,**c); }}} ==== 예습 ==== 1. LinkedListì˜ node를 ì„ ì–¸í•˜ëŠ” ë°©ë²•ì„ ì°¾ì•„ë³´ê³ , 왜 그런 형태ì¸ì§€ ì´í•´í•œë§Œí¼ ì¨ë³´ìž. 2. Circular Queueê°€ 무엇ì¸ì§€ 찾아보ìž. 3. typedefê°€ 무엇ì¸ì§€ ì•Œì•„ë³´ê³ , 간단한 ì˜ˆì œë¥¼ ì¨ë³´ìž. 4. 구조체를 사용하여 student 구조체를 하나 ë§Œë“¤ê³ , student 구조체 ë°°ì—´ì„ ë§Œë“¤ì–´ 0~3번째 ë°°ì—´ì— AClassë°˜ í•™ìƒë“¤ì˜ ì •ë³´ë¥¼ ì 당히 ë„£ê³ , ê·¸ê²ƒì„ ì¶œë ¥í•´ë³´ìž. * 구조체 ë‚´ë¶€ì— char ë°°ì—´ì„ ì‚¬ìš©í•´ì„œ ì´ë¦„ì„ ë„£ì–´ë„ ì¢‹ê³ , í•™ë²ˆì„ int형으로 ë„£ì–´ë„ ì¢‹ë‹¤. * ì´ ê³¼ì œê°€ 무슨 ë§ì¸ì§€ ì´í•´ê°€ 안ë˜ëŠ” 경우 반드시 ì €ì—게 ë¬¼ì–´ë³´ê³ , ê³¼ì œë¥¼ 해야합니다. === 후기 === ==== í•œì†¡ì´ ==== * ê³¼ì œì ê²€, ì´ì¤‘í¬ì¸í„°, ë™ì í• ë‹¹ í¬ì¸í„°ê°€ ì–´ë µê¸°ë„ í•˜ì§€ë§Œ ì•„ì§ í—·ê°ˆë¦°ë‹¤ ì±…ì„ ì°¾ì•„ë³´ê³ ë” ê³µë¶€í•´ì•¼ê² ë‹¤. ==== 곽길문 ==== * ìˆ˜ì—…í• ë•Œ 100% ì „ë¶€ í¡ìˆ˜í•œë‹¤ê³ ë§í• 수는 없지만 ê·¸ëž˜ë„ ë§Žì€ ê²ƒë“¤ì„ ë°°ìš°ê³ ìžˆì–´ì„œ 너무나 ë¿Œë“¯í•˜ê³ ì¢‹ìŠµë‹ˆë‹¤. 복습 예습해서 새싹 êµì‹¤ ì˜ë¯¸ë¥¼ ë§Žì´ ê¹¨ë‹«ê³ ì‹¶ìŠµë‹ˆë‹¤. ì´ì¤‘í¬ì¸í„° ë™ì í• ë‹¹ 첫시간ì´ì—ˆê³ ê³¼ì œ 잘 해서 낼게요 ==== ë„ìƒí¬ ==== * ì´ì¤‘í¬ì¸í„°, ë™ì í• ë‹¹ * ë™ì í• ë‹¹ 구체ì 으로 어떻게 사용하는지 ë¬¼ì–´ë³´ë ¤êµ¬ í–ˆëˆˆë° ê³¼ì œì— ìžˆë„¤ìš”! :) ì €ê±° í’€ì–´ë³´ê³ ëª¨ë¥´ë©´ 질문 í• ê²Œìš”. * ì˜ˆìŠµì„ ì² ì €ížˆ ;^) ==== 황혜림 ==== * ì´ì¤‘ í¬ì¸í„°ì™€ ì´ì°¨ì› ë°°ì—´ì— ê´€í•˜ì—¬ ë°°ì› ìŠµë‹ˆ ì•„ì§ ê°œë…ì´ ìž˜ ì´í•´ë˜ì§€ 않았기 ë•Œë¬¸ì— ê³¼ì œë¥¼ 하면서 ë³µìŠµí•˜ê³ ì´ì¤‘í¬ì¸í„°ì™€ ì´ì°¨ì›ë°°ì—´ì— 관하여 ì´í•´í•´ë´ì•¼ ê² ìŠµë‹ˆë‹¤. ë™ì í• ë‹¹ì— ëŒ€í•´ì„œë„ ë°°ì› ìŠµë‹ˆë‹¤.sizeofë¼ëŠ” 함수를 사용하여 í• ë‹¹ í• í¬ê¸°ë¥¼ ì •í•´ì£¼ê³ mallocì„ ì‚¬ìš©í•˜ì—¬ ë°©ì„ ë§Œë“¤ì–´ ì¤ë‹ˆë‹¤. {{{int* p; p = (int *)malloc(SIZEOF(int)*n);}}} == 5회차(6/6) == === ê³¼ì œ === * ê³¼ì œ 올리는 ê³³: [새싹êµì‹¤/2012/AClass/5회차] * ê³¼ì œëŠ” ì¼ìš”ì¼ ë°¤ê¹Œì§€ìž…ë‹ˆë‹¤. ëŠ¦ì–´ë„ ì›”ìš”ì¼ ì €ë…까진 ì˜¬ë ¤ì£¼ì„¸ìš”. ==== ë³µìŠµê³¼ì œ ==== 1.KoiStudy 112~113,115~122 - ë¬¸ì œ ë§Žì€ë° 별ì°ê¸°ê°™ì€ê±´ 한거ë¼ì„œ 몇개 í• ê±° ì—†ì„ê±°ì—ìš”. 2.Swap함수 작성 3.3,4,6,7,9,3,2를 ìž…ë ¥ìœ¼ë¡œ ë„£ì€ í›„ 2,3,9,7,6,4,3순서로 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ë³´ì„¸ìš”.(스íƒ) 4.BinarySearchê°€ 무엇ì¸ì§€ ì°¾ì•„ë³´ê³ , ''가능하면'' 한번 구현해보ë„ë¡ í•©ì‹œë‹¤.(가능하면!) 5. 아래와 ê°™ì€ ì¶œë ¥ì´ ë‚˜ì˜¤ëŠ” í”„ë¡œê·¸ëž¨ì„ ì–´ë–»ê²Œí•˜ë©´ 짤 수 있는지 ìƒê°í•´ì„œ ì¨ë³´ë„ë¡ í•©ì‹œë‹¤. ê·¸ ë°©ë²•ì´ í™•ì‹¤í•˜ë‹¤ê³ ìƒê°ë˜ë©´ ì§œë³´ì•„ë„ ì¢‹ì•„ìš” :) {{{ 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 }}} 6.LinkedList를 êµ¬í˜„í• ìˆ˜ 있는 구조체를 하나 ë§Œë“¤ê³ , ê·¸ 구조체를 ì´ìš©í•´ linkedlist하나를 만들어봅시다. 7.ë™ì í• ë‹¹ì„ ì´ìš©í•´ listê°€ 몇개 ì—°ê²°ë˜ì–´ìžˆëŠ” 구조를 만들어봅시다. list->next->next = ë™ì í• ë‹¹; 8.LinkedList를 ë§Œë“¤ê³ , 리스트 dataì— 4,5,3,7,12,24,2,9ê°€ 들어가ë„ë¡ í•´ë´…ì‹œë‹¤. ==== ì˜ˆìŠµê³¼ì œ ==== 1.Koistudy163 2.163번 ë¬¸ì œë¥¼ í’€ê³ , ê·¸ ë¬¸ì œë¥¼ 어떻게 ì ‘ê·¼í•˜ì˜€ëŠ”ì§€ ë§í•´ë´…시다. 3.문ìžì—´ì´ 대ì¹ì¸ê²½ìš° Palindrome, 아닌경우 Not Palindromeì„ ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•´ë´…ì‹œë‹¤. * level, racecar, deed는 palindrome, sadfds는 not Palindrome === 후기 === ==== 황혜림 ==== * í¬ì¸í„°ë¥¼ 사용하여 swap함수 만드는 ê²ƒì„ ë°°ì› ë‹¤. * ë™ì í• ë‹¹ê³¼ í¬ì¸í„°ë¥¼ 사용하여 ë§í¬ë“œ 리스트 만드는 ë²•ì„ ë°°ì› ë‹¤. * ì´í•´ëŠ” 했지만 ì½”ë”©ì„ í• ìˆ˜ëŠ” ì—†ì„ ê²ƒ 같다. * swap함수ì—서 &a와 &b를 받아서 a와 b를 바꾸는 ì½”ë”©ì„ ë‹¤ì‹œí•œë²ˆ í•´ë´ì•¼ ê² ë‹¤.! ==== ë„ìƒí¬ ==== * '->'는 ì´ëŸ° 뜻ì´ì—ˆêµ¬ë‚˜! * ë™ì í• ë‹¹ 복습 * '->'와 'ë™ì í• ë‹¹'ì„ ê°™ì´ ê³µë¶€í•˜ë©´ :-S * ë§í¬ë“œë¦¬ìŠ¤íŠ¸ëŠ” 차암 ì–´ë ¤ì›Œìš”. ==== 곽길문 ==== ==== í•œì†¡ì´ ==== * ì´ì¤‘í¬ì¸í„°, ë™ì í• ë‹¹ 복습 ë§í¬ë“œë¦¬ìŠ¤íŠ¸ 수업 ë§í¬ë¦¬ìŠ¤íŠ¸ ì„¤ëª…í• ë•ŒëŠ” 대충 ì´í•´ê°€ ëœê±° ê°™ì€ë° 집가서 책보면서 ë” ê³µë¶€í•´ì„œ ì´í•´í•´ì•¼ê² 다. ê·¼ë° ë„ˆë¬´ ì–´ë µë‹¤ == 6회차(6/13) == === ê³¼ì œ === * ê³¼ì œë¥¼ ì´ë¯¸ ì˜¬ë ¸ì–´ì•¼ 했지만 ê¸°ë§ í¬ë¦¬ë¡œ 올리지 ëª»í•˜ê³ ìžˆìŠµë‹ˆë‹¤...--; === 후기 === ==== ë„ìƒí¬ ==== {{{ #include <stdio.h> #include <stdlib.h> typedef struct node node; struct node{ int data; struct node* next; }; int main(){ int i; node* head=(node*)malloc(sizeof(node)); node* tmp = NULL; tmp=head; for(i=0 ; i<10 ; i++){ tmp->data=i+1; tmp->next = (node*)malloc(sizeof(node)); //printf("%d\n",tmp->data); tmp=tmp->next; } tmp=head; for(i=0 ; i<10; i++){ printf("%d\n",tmp->data); tmp=tmp->next; } return 0; } }}} 아주아주 친해지기 ì–´ë ¤ìš¸ 것 ê°™ì€ë° ê·¸ëž˜ë„ ë…¸ë ¥ì€ í•´ë´ì•¼ê² ì§€..... ==== 황혜림 ==== * ë§í¬ë“œë¦¬ìŠ¤íŠ¸ 삽입과 ì‚ì œí•˜ëŠ” ë°©ë²•ì„ ë°°ì› ë‹¤. * ì´í•´í–ˆìŒ {{{ #include <stdio.h> struct node{ int data; struct node *next; }; int main() { struct node *head=(struct node*)malloc(sizeof(struct node)); struct node *tmp = NULL; int i; int n; tmp=head; for(i=0;i<10;i++) { tmp->next=(struct node*)malloc(sizeof(struct node)); tmp->data=i+1; tmp=tmp->next; tmp->next=NULL; } scanf("%d",&n); for(tmp=head;tmp->next!=NULL;tmp=tmp->next) { if(tmp->next->data==n) tmp->next=tmp->next->next; printf("%d ",tmp->data); } return 0; } }}} ==== í•œì†¡ì´ ==== * ë§í¬ë“œë¦¬ìŠ¤íŠ¸ã…Žã…Žã…Žã…Žã…Žã…Ž {{{ #include<stdio.h> #include<stdlib.h> typedef struct node node; struct node{ int data; struct node *next; }; int main(void){ int i; node *head = (node *)malloc(sizeof(node)); node *tmp = NULL; tmp = head; for(i=0;i<10;i++){ tmp->data = i; tmp->next = (node *)malloc(sizeof(node)); tmp = tmp->next; } tmp = head; for(i=0;i<10;i++){ printf("%d\n",tmp->data); tmp = tmp->next; } return 0; } }}} ==== 곽길문 ==== ë§í¬ë“œ 리스트 재밌어요~ 오늘 마지막 시간 아주 재미있게 수업했어요~~ ì¦ë°©~ == 2-1회차(8/30) == === ê³¼ì œ === * [http://koistudy.net Koistudy] 130번, 132번, 139번 === 수업 ë‚´ìš© === * Overview, í¬ì¸í„° === 후기 === * [황혜림] ì €ë²ˆ í•™ê¸°ì— ë°°ìš´ c언어를 복습했다. í¬ì¸í„°ë¥¼ ë³µìŠµí–ˆëŠ”ë° ë‹¤ì‹œ 공부해야 ê² ë‹¤. * [ë„ìƒí¬] ë°©í•™ ë‚´ë‚´ ì†Œí™€í–ˆë˜ í‹°ê°€ 난다. ë³µìŠµì„ ì—´ì‹¬ížˆ í•´ì•¼ê² ë‹¤. :-) * [한송ì´] ë³µìŠµí–ˆëŠ”ë° í•˜ë‚˜ë„ ê¸°ì–µì´ ì•ˆë‚œë‹¤! C언어 ì±…ì„ ë‹¤ì‹œ 펴ë´ì•¼ê² 다. == 2-2회차(9/6) == === ê³¼ì œ === * ê³¼ì œ 올리는 ê³³: [새싹êµì‹¤/2012/AClass/2-2회차] * ê³¼ì œëŠ” ì›”ìš”ì¼ ë°¤ê¹Œì§€ìž…ë‹ˆë‹¤. ëŠ¦ì–´ë„ í™”ìš”ì¼ ì•„ì¹¨ê¹Œì§„ ì˜¬ë ¤ì£¼ì„¸ìš”. 1.ë™ì í• ë‹¹í•˜ëŠ” 방법 2.Swap 짜보기 3.call by value, call by referenceì— ê´€í•´ ì„¤ëª…í•˜ê³ , ê·¸ê²ƒì´ ì •í™•ížˆ ì–´ë–¤ 것ì¸ì§€, ì–´ë–¤ ë¬¸ì œê°€ ìƒê¸°ëŠ”ì§€ ì„œìˆ . 4.Linked List 삽입, íƒìƒ‰ì„ ì§œê³ , 함수화해보세요. 5.Struct란? 6.Object Oriented Programmingì— ê´€í•´ì„œ 설명해보세요. 7.ê°ì²´ì§€í–¥ì˜ íŠ¹ì„±ì— ê´€í•´ì„œ ì°¾ì•„ë³´ê³ , ì„œìˆ í•´ë³´ì„¸ìš”. 8.Class란?(책참조) 9.Overloadingì´ëž€? 10.publicê³¼ privateì— ê´€í•´ì„œ 알아봅시다. 11.[http://koistudy.net Koistudy] 126~130번, 146번, 148번, 149번 * C++ ë¬¸ë²•ì„ í™œìš©í•˜ì—¬ 짜봅니다.(cin cout등) * ì†ŒìŠ¤ë„ í•¨ê»˜ ì˜¬ë ¤ì£¼ì„¸ìš”. === 수업 ë‚´ìš© === * ë™ì í• ë‹¹, Swap, OOP, Class, Struct, call by value/reference === 후기 === * [황혜림] pointer, swap, malloc, struct ë¬¸ë²•ì„ ë‹¤ì‹œ ë°°ì› ê³ c++ì˜ ê¸°ì´ˆë¥¼ ë°°ì› ë‹¤. iostreamí—¤ë”ì˜ ì‚¬ìš©ë²•ë„ ë°°ìš°ê³ using namespace stdë„ ë°°ì› ë‹¤. using namespace std는 cin, coutì„ ì‚¬ìš©í• ë•Œ ì•žì— ë¶™ëŠ” 'std::'를 ìƒëžµí•˜ê¸° 위해 ì¨ì¤€ë‹¤. c언어ì—서 ë°°ì› ë‹¤ '\n'는 c++ì—서는 endl로 쓴다는 ê²ƒë„ ë°°ì› ë‹¤. * [ë„ìƒí¬] -#include <iostream> ê³¼ using namespace std; ì˜ ì‚¬ìš©ë²• {{{ #include <iostream> using namespace std; int main(){ int a; cin>>a; cout<<a<<endl; } }}} * swap 복습 {{{ #include <stdio.h> #include <iostream> int swap(int*, int*); int main(){ int a,b; a=10; b=20; swap(&a,&b); printf("%d %d\n",a,b); return 0; } int swap(int *a, int *b) { int temp; temp=*a; *a=*b; *b=temp; return 0; } }}} -ì˜¤ë²„ë¡œë”©ì€ ë³„ë¡œë‹¤ * [한송ì´] * c언어와 c++ì˜ ë‹¤ë¥¸ 문법과 cin,cout class,stdì—†ì• ëŠ” using namespace std를 ë°°ì› ë‹¤ == 2-3회차(9/12) == === ë‚´ìš© === * cmdì°½, main parameter사용법, static, const === ê³¼ì œ === 1.[http://koistudy.net Koistudy] 126~130번, 146번, 148번, 149번 - 못푼것 === 후기 === * [황혜림] classì˜ ê°œë…ì— ëŒ€í•´ì„œ ë°°ì› ë‹¤. private와 publicì˜ ì°¨ì´ì ì„ ë°°ì› ë‹¤. private를 ì„ ì–¸í•˜ë©´ ë‚¨ì´ ì ‘ê·¼ì„ í• ìˆ˜ 없다. publicì€ ì•„ë¬´ë‚˜ ì ‘ê·¼í•˜ì—¬ 사용 í• ìˆ˜ 있다. * [ë„ìƒí¬] swap, malloc test privateê³¼ publicì˜ ì°¨ì´ì 왜 private를 사용하는지 * [한송ì´] ë§í¬ë¦¬ìŠ¤íŠ¸ 복습,publicê³¼ private == 2-4회차(9/19) == === ë‚´ìš© === === ê³¼ì œ === * static, const ì´ëž€?? === 후기 === * [한송ì´] í´ëž˜ìŠ¤ë¥¼ 사용한 코딩 * [ë„ìƒí¬] LargeInt ë§ì…ˆ! ìžë¦¬ìˆ˜ ê³ ì •, overflow ë°œìƒí•˜ì§€ 않는 ìƒí™©ì—서 코딩 í´ëž˜ìŠ¤ë¥¼ 사용한 ìµœì´ˆì˜ ì½”ë”© 차암 뿌듯하네 ìˆ™ì œë¡œ 뺄셈! * [황혜림] í´ëž˜ìŠ¤ì™€ private, public사용해서 ê°ê°ì˜ ìžë¦¿ìˆ˜ ë§ì…ˆí•˜ëŠ” 함수를 만들었다. ê° ìžë¦¬ìˆ˜ê°€ 9보다 í¬ë©´ ê·¸ ë‹¤ìŒ ìžë¦¬ìˆ˜ì— 1ì„ ë”하는 ì½”ë”©ì„ ë§Œë“¤ì—ˆë‹¤. 디버깅하는 ë²•ë„ ë°°ì› ë‹¤. == 2-5회차(9/26) == === ë‚´ìš© === * í´ëž˜ìФ, ìƒì„±ìž, 캡ìŠí™”, default ìƒì„±ìž, this, overloading 등등. * struct vs class === ê³¼ì œ === * ì´ë²ˆ ì‹œê°„ì— í–ˆë˜ Personí´ëž˜ìŠ¤ë¥¼ ìƒê°í•´ì„œ Bird í´ëž˜ìŠ¤ë¥¼ 작성해야합니다. * 새는 처ìŒì— ì§€ìƒì—서(0m)ì—서 ì‹œìž‘í• ìˆ˜ë„ ìžˆê³ , 다른 높ì´ì—서 ì‹œìž‘í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. * ë•…ì—서부터 ìƒˆê¹Œì§€ì˜ ê±°ë¦¬ë¥¼ ì €ìž¥í• ìˆ˜ 있어야 합니다.(distance) * Bird는 ë‚ ìˆ˜ 있습니다. (ë„ë§ì¹ 때를 대비해) 빨리 ë‚ ìˆ˜ë„ ìžˆì–´ì•¼í•©ë‹ˆë‹¤. * 새는 A,Bê°€ 있는ë°, A새는 ê°ì²´ë¥¼ 만들 때 기본 ìƒì„±ìžë¥¼ ì‚¬ìš©í•´ë„ ë˜ê³ , B새는 ê°ì²´ ìƒì„±ì‹œì— ì²˜ìŒ ë†’ì´ë¥¼ 다르게 í•´ë³¼ 수 있습니다. === 후기 === * [황혜림] - 처ìŒë¶€í„°, í´ëž˜ìŠ¤ì˜ íŠ¹ì§•ì—는 캡ìŠí™”ê°€ 있다. 캡ìŠí™”는 왜쓰는가.... ìž˜ëª»ëœ ì ‘ê·¼ì„ ë§‰ì•„ì•¼ 한다는ë°. ì•„,,ã…‚ã„±ã… ì•„ ì˜¤ë²„ë¡œë”©ì´ ìƒˆë¡œ ìƒê°ë‚¬ë‹¤. ìƒì„±ìž - í´ëž˜ìŠ¤ëª…ê³¼ í•ìƒ ê°™ê²Œ 사용하여야 한다. * [한송ì´] - 나는 빽스페ì´ìФ í´ëž˜ìФì—는 í¼ë¸”ë¦/í”„ë¦¬ë² ì´ìФ 없으면 ìžë™ private 구조체는 ìžë™ public . 다ìŒì£¼ì—ë„ ì‹œìž‘í• ë•Œ 복습 + bigInt 다시n개로. * [ë„ìƒí¬] - ì™„ì „ ë§Žì´ì¨ì•¼ì§€. thisì˜ ìš©ë²•. ê·¸ë¦¬ê³ ì–´......... ë””í´íЏ ìƒì„±ìž ê·¸ë¦¬ê³ ì˜¤ëŠ˜ 배운게 ëì¸ê±° ê°™ì€ë°... == 2-6회차(10/10) == === ë‚´ìš© === * 오버ë¼ì´ë”©, static, ìƒì†, protected, return형태와 ì˜¤ë²„ë¡œë”©ì˜ ê´€ë ¨ === ê³¼ì œ === * 송ì´ëˆ„나 swap 시험 다시 * Animal ê°ì²´ë¥¼ ë°œì „ì‹œí‚¨ Bird í´ëž˜ìФ 만들기. * [새싹êµì‹¤/2012/AClass/2-6회차] === 후기 === * [황혜림] - ìƒì†ë°°ì› 습니다. protectedê°€ 무엇ì¸ì§€ ë°°ì› ê³ ì˜¤ë²„ë¡œë”©, 오버ë¼ì´ë”©ì´ 무엇ì¸ì§€ë„ ë°°ì› ìŠµë‹ˆë‹¤. staticê³¼ constë„ ë°°ì› ìŠµë‹ˆë‹¤. * [한송ì´] - * [ë„ìƒí¬] - ìƒì†, ë””í´íЏ ìƒì„±ìž, 오버로딩과 오버ë¼ì´ë”©ì˜ ì°¨ì´ì , static를 ë°°ì› ë‹¤ == 2-7회차(10/17) == === ë‚´ìš© === * 1~7회차 복습 ë° ìª½ì§€ 시험 * ê³¼ì œë¬¼ (코딩 ëŠ¥ë ¥ í–¥ìƒì„ 위한 미로찾기, í˜¹ì€ Airline Ticketing) === ê³¼ì œ === * 미로찾기, í˜¹ì€ Airline Ticketing íƒ 1 === 후기 === * == 2-7회차(10/17) == === ë‚´ìš© === * 1~7회차 복습 ë° ìª½ì§€ 시험 * ê³¼ì œë¬¼ (코딩 ëŠ¥ë ¥ í–¥ìƒì„ 위한 미로찾기, í˜¹ì€ Airline Ticketing) * 23ì¼ ì‹œí—˜, 30ì¼ ê°•ì‚¬ 대회 준비로 휴강 === ê³¼ì œ === * 미로찾기, í˜¹ì€ Airline Ticketing íƒ 1 === 후기 === == 2-8회차(10/31) == === ë‚´ìš© === * ê³¼ì œë¬¼ ì ê²€ ë° ì‹¤ìŠµ * virtual, ì¶”ìƒí•¨ìˆ˜, ê°ì²´ì§€í–¥ === ê³¼ì œ === * 앞 7주차 ë‚´ìš© ì •ë¦¬ === 후기 === == 2-9회차(11/4) == === ë‚´ìš© === * === ê³¼ì œ === * === 후기 === == 2-10회차(11/14) == === ë‚´ìš© === * === ê³¼ì œ === * === 후기 === ---- [2012년활ë™ì§€ë„],[새싹êµì‹¤/2012]