코딩68 스크래치15장(소리블록, 모든소리끄기블록, 음높이 바꾸기, 음량조절, 소리효과, 창작소리게임, 알고리즘) ▣ 안녕하세요^^ 저번장에 숙제는 해보셨나요? 이제 알고리즘 순서도를 설계하는 게 많이 능숙해지셨을 거라 생각합니다. ^^ 좋습니다. 잘하고 계십니다. 끝까지 포기하지말구 진행해주세요. ▣ 오늘은 소리블록 진짜 마지막 시간입니다. ^^ 나머지 소리블록들을 한번 살펴볼까요? ▣ 먼저 모든소리끄기 블록을 알아볼까요? 이름만 보아도 기능을 아시겠죠? 네 소리를 끄는 블록입니다. 간단하죠? 직접 끝까지 재생하기로 소리를 내고 모든 소리 끄기 블록으로 소리를 꺼보세요. ▣ 다음은 음높이 효과블록입니다. 이제는 바꾸기와 정하기에 차이는 아시겠죠? 바꾸기는 그 숫자만큼 더해지거나 빼 지게 하는 블록이고 정하기는 딱 그 숫자로 정해줍니다. 내가 원하는 소리를 하나 선택해서 가져오고 음 높이 효과를 바꾸기 블록을 한번 .. 2020. 5. 19. C언어 18장_3(포인터, 다중포인터, 다차원 배열) ▣ 안녕하세요^^ 저번 시간에 포인터 두 번째 장 숙제 잘해보셨나요?? 여러분들에 무거운 얼굴이 보이네요 ^^;;; ▣ 하지만 여러분들은 지금 이 장을 열었다는 건 완벽하게 이해하지는 못해도 어쨌든 끝까지 포기하지 않고 하고 계시다는 이야기겠죠? 잘하시고 계십니다. 포기하지 마세요!!! 할 수 있습니다!!! 제가 이번장에서 포인터를 끝내도 다른 부분을 진행할 때 아니면 많이 틀리는 예제들이나 문제들을 한번 같이 공부해보는 장도 만들겠습니다. 그러니 한 번에 이해하지 못했다고 해서 실망하지 마세요. ▣ 그리고 제가 계속 말씀드리지만, 꼭 제 블로그로만 공부를 끝내시면 안 됩니다. 모든 분들이 가르치는 방법과 노하우와 그리고 경험이 다르기 때문에 꼭 좋은 여러 강사님들 자료를 보시면서 함께 공부해주세요. 제.. 2020. 5. 15. 스크래치14장(소리블록, 음악블록, 피아노블록, 이벤트블록) ▣ 안녕하세요 ^^ 저번장 숙제는 하셨죠?? 알고리즘 순서도 그리고 코딩 다 해보셨을 거라 생각하고 오늘은 악기를 연주하는 블록을 배워보겠습니다. 먼저 음악블록을 가져오려면 음악메뉴블록을 추가해야 합니다. ▣ 왼쪽 하단 밑에 보면 이렇게 블록 메뉴를 추가하는 버튼이 있습니다. 눌러주세요. 그럼 ▣ 이렇게 여러 블록을 추가할 수 있는 메뉴들이 나오게 됩니다. 우리는 여기서 음악블록을 추가하겠습니다. 나머지 블록은 기회가 된다면 다루도록 하겠습니다. ▣ 그럼 이렇게 음악블록이 보이게 됩니다. 여기서 우리는 음악블록을 하나하나 다 다뤄보도록 하겠습니다. ▣ 먼저 60번 음을 0.25 박자로 연주하기 블록을 가져와보겠습니다. 그리고 마우스를 더블클릭을 해보겠습니다. 그럼 어떻게 되나요? 네 낮은 도 음이 나오게.. 2020. 5. 14. 스크래치13장(소리블록, 재생하기 끝까지 재생하기블록, 이 스프라이트를 클릭했을때 블록, 알고리즘) ▣ 안녕하세요 ^^ 저번장에 숙제해보셨나요?? 알고리즘 순서도를 설계하셨겠죠?? 꼭 하셨을꺼라 생각하고 다음장 소리블록에 대해 배워보겠습니다. ▣ 자 이렇게 두가지 소리를 재생하는 블록이 있습니다. 먼저 두가지 블록을 하나하나 마우스로 클릭해보세요. 그리고 차이를 찾아보세요. 찾아보셨나요? 네 그렇습니다. 전혀 차이가 없습니다. 그럼 이렇게 코딩을 해서 차이를 찾아볼까요? ▣ 이렇게 각각 코딩을 하고 하나하나 어떻게 작동하는지 확인해주세요. ▣ 차이를 아시겠나요? 소리가 짧아서 조금 구별하기 어려울 수도 있지만 여러 번 클릭하면 차이를 쉽게 알 수 있습니다. 끝까지 재생하기 블록은 소리가 끝난 후에 다음 블록을 실행합니다. 그냥 재생하기 블록은 소리가 나면서 밑에 있는 블록이 실행됩니다. 아시겠죠? 두 .. 2020. 5. 12. C언어 16장_1(포인터, 메모리) ▣ 안녕하세요 ^^ 저번장에 함수 해보셨나요?? 어렵죠? 많이 ㅠ.ㅠ 하지만 포기하지 마세요!!! 하실 수 있습니다. 제가 처 음장에서 이야기한 것처럼 코딩을 꼼꼼하게 읽는 훈련을 하시면서 반복적으로 사고하고 코딩하시면 할 수 있습니다. 어려우신 게 있으시면 댓글 남겨주세요. ▣ 자 오늘은 C언어를 공부할 때 가장 어려워하는 포인터를 진행해보겠습니다. 포인터를 진행하면서 메모리에 대한 이야기도 하겠습니다. 이 부분은 할 이야기가 많아 챕터를 나누겠습니다. ▣ 제가 이걸 준비하면서 여러 책과 좋은 강사님들에 자료를 많이 읽어보고 저도 다시 공부해보았습니다. 가능하면 쉽게 설명하도록 하겠지만 여러분들이 꼭 하셔야 할 건 꼼꼼하게 코딩을 읽는 훈련을 하셔야 한다는 겁니다. 그냥 보고 무작정 어렵다고 포기하시면.. 2020. 5. 11. 스크래치12장(형태블록, 모양번호블록, 배경번호블록, 크기블록, 창작2) ▣ 안녕하세요 ^^ 저번 시간에 숙제는 해보셨죠?? 알고리즘 순서도 설계와 코딩 다 해보셨을 거라 생각합니다. ^^ 꼭 하고 오셔야합니다. 스크래치가 쉽다고 그냥 막 코딩하시면 안 됩니다. 무엇을 배우든 기초가 탄탄해야 합니다. 코딩도 마찬가지입니다. 스크래치 블록에 기능을 알고 가는 것보다 사고(생각)하고 그걸 알고리즘 순서도로 표현하고 코딩을 추상화해서 하나하나 하는 게 더 중요합니다. 잊지 마세요~~ ▣ 자 오늘은 형태 블록 마지막 시간으로 형태블록 맨 밑에 있는 3가지 블록을 알아보겠습니다. 이 블록은 쉽게 이야기하면 현재 모양, 배경, 크기 값을 알 수 있는 블록이라고 생각하시면 됩니다. ▣ 이렇게 모양 번호 블록을 가운데 가지고 와서 마우스로 더블클릭하면 어떻게 되나요? 네 이런 식으로 현재 .. 2020. 5. 7. C언어 15장(함수, 재귀함수, 사용자 정의 함수, 표준 함수, main 함수, return) ▣ 안녕하세요 ^^ 저번장에 숙제는 해보셨나요? 배열에 대해서 진행했습니다. 이제 우리는 배열을 활용하여 여러 문자들과 숫자들을 가지고와 코딩할 수 있게 되었네요. 그럼 오늘은 함수에 대해서 배워보겠습니다. ▣ 먼저 함수란 무엇일까요? 우리가 수학 공부를 할 때 함수라는 말을 많이 듣고 사용했을 겁니다. ▣ 자 이렇게 함수를 우리가 과거에 마술상자? 요술상자? 같은 걸로 설명을 들었을 텐데요. 저는 그렇게 들었습니다. ^^;; 그때는 저도 거의 이해하지는 못했습니다. ^^;; 그냥 우리가 저 그림을 보고 쉽게 생각해보겠습니다. 우리가 값을 넣으면 저렇게 함수 원형 안에서 연산이 되고 결과를 준다.라고 생각하시면 될꺼같습니다. 진짜 그렇습니다. ▣ 자 함수를 한번 만들어보겠습니다. 우리가 int main(.. 2020. 5. 6. 스크래치11장(숨기기블록, 보이기블록, 이미지순서블록, 형태블록) ▣ 안녕하세요 ^^ 저번장에 숙제 잘해보셨나요?? 알고리즘 순서도를 설계하고 코딩하셨죠?? 아주 잘 하셨습니다. 그럼 이번장에서는 숨기기, 보이기, 맨 앞으로 순서를 바꾸는 블록을 배워보겠습니다. ▣ 먼저 숨기기블록과 보이기 블록을 공부해보겠습니다. ▣ 먼저 이렇게 두개에 블록을 가운데 가지고 와서 한 개씩 마우스로 더블클릭해주세요. 그럼 어떻게 되나요? 숨기기블록을 더블클릭하면 내가 선택한 스프라이트가 숨겨지고 보이기 블록을 더블클릭하면 보이게 됩니다. 아주 간단하죠? ▣ 이렇게 스프라이트 메뉴에서도 보이기와 숨기기를 설정할 수 있습니다. ▣ 그런데 여기서 중요한 사실이 하나 있습니다. 보이기 숨기기 블록은 스프라이트를 삭제하는 게 아닙니다. 이점을 꼭 주의해 주세요. ▣ 그럼 이미지스프라이트를 숨기기.. 2020. 5. 5. C언어 14장(배열, 문자열, Array, Null terminated) ▣ 안녕하세요^^ 저번 시간에 숙제는 해보셨죠?? for 별찍기와 완성한 코딩을 해석해보는 것까지가 숙제였습니다. 많이 어려우셨겠지만 모두 다 해내셨을 거라 생각합니다. 아 그리고 30분이상 고민했는데 정말 안된다 노트에 쓰고해도 안된다고 하시면 정말 많은 좋은 분들에 자료가 있습니다. 코딩을 한번 참고해주시고 그걸 해석하면서 공부하고 다시 자신만에 코딩으로 만들어보세요. 그래야 실력이 늘어납니다. 다른분들이 만든 코딩에 코드를 외우시면 안 됩니다.!!! 그럼 오늘 배열에 대해서 배워보겠습니다. ▣ 제가 scanf_s 입출력을 했을 때 잠깐 공부했습니다. 하지만 오늘은 좀 더 깊이 코딩을 진행해보겠습니다. 먼저 배열이 왜 필요한지 알아보겠습니다. ▣ 자 우리가 각각 이렇게 변수를 여러 개 만들어서 값을 .. 2020. 5. 4. 스크래치10장(크기바꾸기 블록, 색바꾸기 블록, 이벤트블록, 알고리즘) ▣ 안녕하세요^^ 저번장에 숙제는 해보셨나요?? 모두 다 알고리즘 순서도와 코딩을 해보셨을 거라 생각하고 다음장 진행하도록 하겠습니다. ▣ 먼저 크기 바꾸기, 정하기 블록을 먼저 공부해보도록 하겠습니다. ▣ 크기 바꾸기와 정하기블록을 가운데 가지고 와서 하나하나 더블클릭을 해보겠습니다. 우선 바꾸블록은 어떻게 되나요?? 네 현재 크기에서 +10 커지는 걸 볼 수 있습니다. 이걸 어떻게 확인할 수 있냐면 ▣ 고양이 스프라이트 밑에 있는 고양이에 정보를 보는 메뉴에서 확인할 수 있습니다. 여기에서 우리는 x, y좌표와 방향에 정보를 살펴보았죠? 그 밑에를 보면 크기를 지정하는 메뉴도 있습니다. 우리가 10만큼 크기 바꾸기를 하게 되면 +10을 추가하게 됩니다. 그럼 반대로 작게하려면 어떻게 해야 할까요? 네.. 2020. 5. 2. C언어 13장(반복문, for문, 알고리즘) ▣ 안녕하세요 ^^ 저번장에 while문 숙제해보셨나요? 숫자 맞추기 게임을 만드는 게 숙제였습니다. 해보셨죠?? ㅎㅎ 많이 어려우셨을 거라 생각합니다. ▣ 보통 c언어를 배울 때 첫 번째 고비가 이 반복문 부분입니다. 오늘 미션으로도 해볼 별 찍기에서 많은 분들이 멘붕이 되고 포기를 많이 합니다. ▣ 하지만 겁먹지 마세요. 여러분들은 할 수 있습니다. 제가 처음장 부터 이야기 한 것처럼 코딩을 꼼꼼하게 읽는 훈련을 했기 때문입니다. ▣ 오늘 for문을 배울 때 이 읽는 훈련을 잊지 마시면서 천천히 코딩을 해석하면 오늘 할 별 찍기도 할 수 있습니다. 그리고 제가 숙제 정답은 올리지 않습니다. ▣ 제 코딩이 정답이라고 생각할 수 있기 때문도 있지만, 여러분들이 여러 좋은 강사님들과 여러 자료들을 찾아보면.. 2020. 5. 1. C언어 12장(반복문, while문, do while문, 알고리즘) ▣ 안녕하세요 ^^ 저번장에 숙제는 잘해보셨나요? 이제 점점 코딩을 읽는 것부터가 어려울 수 있습니다. 그러니 이제는 정말 꼼꼼하게 코딩을 읽는 연습을 하셔야 합니다. ▣ 자 오늘은 제어문에 있는 반복문 그중에 while문을 먼저 진행하도록 하겠습니다. 저번장에 배웠던 조건문을 모두 다 이해하셨다면 반복문도 어렵지 않을 겁니다. ▣ 자 먼저 반복문은 왜 필요할까요? 이렇게 제가 두 번 암호를 입력받는 코딩을 만들었습니다. ▣ 여기서 잠깐 다시 한번 복습하면 입출력을 배울 때 이야기했듯이 scanf_s에서 " % c"형식을 지정할 때 띄어쓰기를 하는 이유는 띄어쓰기를 넣어야 화이트 스페이스인 엔터를 구분자로 인식하기 때문입니다. 저렇게 하지 않으면 위에 입력을 할 때 a와 \n를 버퍼에 저장해서 다음 sc.. 2020. 4. 30. 스크래치9장(모양바꾸기 블록, 다음모양 바꾸기 블록, 배경바꾸기 블록형태블록, 애니메이션) ▣ 안녕하세요 ^^ 저번장에 숙제는 해보셨나요? 이제 알고리즘 순서도 설계하는 게 많이 익숙해지셨죠? 잘하고 계십니다. 하지만!!! 익숙해지셨다고 해서 멈추시면 안 됩니다. 자꾸 사고(생각)하면서 코딩을 하는 습관을 들여야 합니다. 그래야 저처럼 고생을 안 합니다 ^^;; 명심하세요. ▣ 오늘은 형태 블록에 다음 모양 바꾸기와 모양을 모양 1로 바꾸기 블록 그리고 배경을 바꾸는 블록을 배워보도록 하겠습니다. ▣ 먼저 다음 모양 바꾸기를 공부해보겠습니다. 가운데 창에 블록을 놓고 계속 마우스로 더블클릭하면 어떻게 되나요? 고양이 스프라이트에 모양이 계속 바뀌어서 뛰는 것처럼 보이게 되죠? 그럼 이 모양이 어디에 있느냐 스프라이트가 모여있는 메뉴에서 스프라이트를 클릭을 하면 이렇게 위에 메뉴 중에 코드 메뉴.. 2020. 4. 29. 스크래치8장(형태블록, 말하기블록, 몇초 말하기 블록, 입출력) ▣ 안녕하세요 ^^ 저번 시간에 숙제해보셨나요?? 동작 블록 마지막 창작 게임을 만드는 게 숙제였습니다. 다들 알고리즘 순서도를 설계하고 해 보셨죠?? 어떤 게임이 만들어졌는지 궁금하네요~~ 어떤 게임 만드셨는지 댓글 남겨주세요^^ ▣ 그럼 오늘은 형태 블록에 있는 말하기 블록을 한번 사용해 공부해 보겠습니다. ▣ 먼저 몇 초 말하기 블록과 몇초 생각하기 블록을 사용해보겠습니다. 자 하나씩 가운데 놓고 마우스로 더블클릭해서 사용해보겠습니다. ▣ 이렇게 말하기 블록을 사용하게 되면 2초 동안 말하기 말풍선이 나오고 사라지죠?? ▣ 생각하기 블록도 마찬가진 입니다. 우리가 정해준 시간 2초 동안 생각 말풍선이 나오고 사라지게 됩니다. 아주 간단하죠? 그럼 둘에 차이는 무엇이냐?? 진짜로 스프라이트가 말하고 .. 2020. 4. 28. C언어 11장( switch문, 삼항연산자, 제어문, 조건문) ▣ 안녕하세요 ^^ 저번장에 숙제 다 해보셨나요? 조건문에 대해서 진행했습니다. 배운 내용을 활용하여 직접 조건문을 만들어서 관계 연산, 논리 연산을 사용해보는 숙제였습니다. 알고리즘 순서도까지 진행해보셨죠?? 모두 다 해보셔야 합니다. "아 쉽네... 그냥 넘어가야지"라는 생각은 버려주세요. 그렇게 해서 나중에 프로그램을 만들거나 게임을 만들 때 제대로 하는 사람을 거의 못 본거 같습니다.^^ 팩트입니다. 저도 그랬습니다.^^;; ▣ 코드 치는걸 두려워하지 마세요.!! ▣ 그럼 오늘은 저번장에 이어서 조건문 switch문을 진행하겠습니다. ▣ 먼저 이렇게 코딩을 저랑 똑같이 작성 하겠습니다. 변수에 이름은 여러분들이 원하시는 걸로 하셔도 됩니다. 저는 조금 게임 느낌이 나게 했습니다. ^^ if문과 똑.. 2020. 4. 28. 스크래치7장(현재 x, y, 방향 값, 창작게임, 동작블록 마무리) ▣ 자 저번장 숙제는 해보셨나요? 알고리즘 순서도를 설계하고 코딩을 진행해보셨죠? 하셨을 거라 생각하고 오늘은 동작 블록 마지막 시간을 진행하겠습니다. ▣ 자 이렇게 동작블록 맨 밑에를 보면 이렇게 3개에 원으로 되어 있는 블록이 있습니다. 우선 고양이를 아무 곳에나 마우스로 이동해 보고 블록을 하나하나 더블클릭해보겠습니다. 그럼 고양이에 현재 X, Y ,방향을 알 수 있습니다. ▣ 고양이스프라이트 밑에 있는 정보메뉴와 같다고 생각하시면 될꺼같습니다. 그럼 이 블록은 언제 사용할까요? 우리가 나중에 배울 조건문에서 사용하게 됩니다. 그리고 연산을 할 때도 사용합니다. 상황에 맞게 현재 위치가 어디라면 다음 스테이지로 넘어가라 등등을 해볼 수 있을 겁니다. 그러니 우선 코딩으로 현재 위치와 방향에 값을 알.. 2020. 4. 27. 스크래치6장(벽에 닿으면 튕기기, 회전방식 정하기) ▣ 안녕하세요. 저번장에 숙제는 해보셨나요? 매 장마다 강조합니다. ^^ 꼭 영상을 보고 생각하고 그 생각을 알고리즘 순서도로 작성하고 그걸 보고 코딩을 해주세요. 꼭입니다. ▣ 먼저 벽에 닿으면 튕기기라는 블록을 배워보겠습니다. 이 블록은 말 그대로 벽에 닿으면 튕겨집니다. 그럼 가운데 블록을 놓고 마우스로 더블클릭하면 어떻게 되나요? 네 아무 반응이 없습니다. 왜냐 벽에 닿여 있지 않기 때문입니다. 이게 무슨말이냐? 한번 이렇게 코딩을 진행해보겠습니다. ▣ 자 이렇게 코딩을 하고 실행하면 어떻게 될까요? 먼저 실행하기 전에 한번 생각해보겠습니다. 네 무한반복으로 10만큼 움직이기와 벽에 닿으면 튕기기가 순차적으로 작동할 겁니다. 그럼 한번 실행을 해보겠습니다. ▣ 실행을 하면 어떻게 되나요? 진짜로 .. 2020. 4. 26. 스크래치3장(X, Y 바꾸기, 정하기, 반복문) ▣ 안녕하세요 ^^ 저번 시간에 연습문제를 풀어보셨나요? 꼭 알고리즘 순서도를 설계하시고 그걸 보고 코딩을 하셔야 합니다. 다시 말씀드리지만 코딩은 블록을 외우는 게 목적이 아니라 컴퓨터한테 우리 생각을 정리해서 명령을 하는 것입니다. 그렇기 때문에 우리에 생각을 정리하는 방법도 익혀야 한다고 저는 생각합니다. 그러니 꼭 제가 만든 영상을 보고 알고리즘순서도를 생각하고 작성한 후에 코딩을 해주세요. ▣ 자 그럼 오늘은 X, Y 좌표 움직이는 블록 두 가지를 배워보겠습니다. 움직이기 블록은 머라고 했죠? 네 저번시간에 꼼꼼하게 읽으셨던 분은 아실 거라 생각합니다. 코딩은 만든 코딩을 다시 읽는 것도 너무 중요합니다. 저번 시간에 한번 언급을 했죠? 그러니 꼭 꼼꼼하게 읽는 연습 하시면 좋을 거 같습니다. .. 2020. 4. 22. 스크래치2장(움직이기, 회전, 순차적원리) ▣ 안녕하세요 저번 시간에 숙제로 주었던 X, Y좌표에 대해서 해보셨나요? 네 다 해보셨을꺼라 생각하고 ^^ 바로 다음장을 진행하겠습니다. 좌표에 대한 부분은 꼭 숙지하고 시작해주세요 ^^ ▣ 자 스크래치는 이렇게 여러 메뉴들이 있습니다. 하지만 저는 메뉴들을 하나하나 보지 않고 실습을 하면서 진행할 예정입니다. 메뉴 다 살펴보다가 코딩하고 싶은 마음이 다 사라질 수 있기 때문이죠 저도 그 마음 알고 있습니다. ^^ 그럼 먼저 움직이는걸 해보겠습니다. 왼쪽에 보면 여러 블록들이 있습니다. 이제 블록으로 컴퓨터한테 명령을 줄 겁니다. 쉽게 이 과정을 이야기하면 맨 왼쪽에 있는 블록들은 감독과 작가에 역할을 한다고 생각하시면 될꺼같고, 가운데는 흰 바탕은 대본 그 자체라고 생각해주세요. 그리고 맨 오른쪽에 .. 2020. 4. 21. C언어 7장(표준입출력2 - gets, puts, scanf, 문자열) 안녕하세요. 오늘은 저번 시간에 이어서 표준 입출력을 진행하겠습니다. 저번장에서 숙제를 해보셨나요? getchar()를 활용하여 암호를 만들어보는 숙제였습니다. 그래서 putchar로 출력을 하는 과정이었습니다. 숙제를 제대로 하셨다면 이런 생각을 하셨을 거라 생각합니다. ▣ char를 한꺼번에 만들 방법은 없을까라는 생각을 하실 겁니다. 그래서 제가 그 숙제를 드린 겁니다. 네 있습니다. 바로 배열을 사용하면 됩니다. 이렇게 하면 char 변수 하나에 한 개에 문자를 저장하여 출력했습니다. 이걸 배열로 간단하게 만들 수 있습니다. 이렇게 코딩을 해서 배열을 만들 수 있습니다. 쉽게 설명하자면 char == 자료형 동일합니다. 변수만 들 때처럼요. a == 배열 이름(변수 이름), [6] == 내가 만들.. 2020. 4. 20. C언어 6장(표준입출력 - getchar, putchar, _getch, _getche) 안녕하세요. 저번 시간에 이야기한 숙제는 해보셨나요?? 저번 시간에 했던걸 잠깐 이야기하면, 우린 변수와 상수, 그리고 연산자를 배웠습니다. 이걸 활용하여 텍스트 게임을 만들어보세요라고 했습니다. ^^ 꼭 해보셨을 거라 믿고 그럼 오늘 수업을 진행하겠습니다. 먼저 이렇게 코딩을 해 보도록 하겠습니다. 저번 시간에 char 자료형으로 변수를 만드는 것도 해보셨죠? 조금 더 설명을 드리려고 합니다. char는 정수형 1byte == 8bit를 저장할 수 있습니다. a에는 문자 한글자인 'A'를 대입했습니다. b에는 65라는 숫자를 대입했습니다. 그리고 printf에서 a에 형식과 b에 형식을 char = %c로 했습니다. 그럼 결과가 어떻게 나올까요? 놀랍게도 그렇게 나오게 됩니다. 그 이유는 char형으로.. 2020. 4. 17. 이전 1 2 3 4 다음