From Standard I/O to recursive call.
Written in Korean.
It was used to teach club members which name is KITEL. So there are some jokes. Please do not hate me even though you are uncomfortable by my jokes...haha
9. scanf
• scanf(“n%d”,&KITEL);
New line character 무시.
• scanf(“ %d”,&KITEL);
공백 무시. (New line character 포함)
• scanf(“abc %d”,&KITEL);
abc 무시
사실 무시가 아니고 입력을 받고 어디에도 저장을 안
함.
알고리즘 문제푸는데 엄청나게 유용한 팁.
10. 여러개 입력받기
• 2차원 배열을 써야하는 경우에 한 줄에 두 개의 정수
가 들어오는 경우가 많다.
• scanf("%d %d",&A, &B);
11. 버퍼처리?
• 버퍼처리란?
숫자를 입력받고 문자를 입력받을 때 씹히는 현상.
숫자를 입력하고 누르는 엔터(New line character)때
문.
• Cin쓰면 버퍼 신경 안써도 되잖아요.
• !!
• scanf(“n%c”,&character);
안받아요.
40. Why Recursive?
• 알고리즘 시험은 시간싸움.
• 코드 간소화.
• 스택을 구현할 필요가 없다.
• 하지만 실제 개발할때 사용하면 개 발. 시스템 과부
하가 크다.
41. 재귀
int gcd(int parm_a, int parm_b){
return b ? gcd(parm_b, parm_a%parm_b) :
parm_b;
}
아까 만났던 그 녀석
• 함수가 Call-Stack에 차곡차곡 쌓였다가 가장 늦게
들어온 녀석부터 빠져나간다.
42. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
43. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Push
44. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Push
45. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Push
46. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Pop
47. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Pop
48. Stack
• 가장 기초적인 Data structure
• Push, Pop
• FILO(First In Last Out)
Pop
49. 재귀
• 좀 더 착하게 생긴 녀석이랑 놀아보자
• int makeTen(int parm){
if(parm<10){
return makeTen(parm+1);
}
else if(parm>10){
return makeTen(parm-1);
}
else{
return parm;
}
}
printf(“%dn”,makeTen(5)); ==> 10
50. 재귀는 이럴때 유용하다
• 좌우대칭 산모양
• 대칭!
• Back tracking. 무언가를 찾아야 할 때.