여러분 안녕!!
JoyCodingLab.(조이코딩연구소)
장샘 입니다(_ _)/
이번시간은 드디어 YBMIT COS 1급(코딩스페셜리스트) 예제
마지막 10번 문제 해설 입니다!!
마지막이니 문제가 어려울 것으로 예상 됩니다.
자 집중하시고 같이 잘 풀어보도록 하시죠.
그럼 10번 문제 해설 시작합니다.
문제를 보니 정렬하는 프로그램 입니다.
정렬은 알고리즘 문제라고 보시면 됩니다.
기본적은 알고리즘에 관한 문제는 꼭? 출제 되는 경향이 있으니
다양한 알고리즘에 대해서 이해를 하셔야 됩니다.
어떤 알고리즘 문제인지 보시죠~
마지막 문제는 변수까지 많네요.
알고리즘 관련된건 변수를 많이 사용할 수 밖에 없습니다!
지시사항은을 보니 버블정렬 프로그램이란걸
알게 되었네요.
버블 정렬을 이용하여 오름차순으로 정렬하는겁니다.
오름차순과 내림차순을 혼동하시는 분은
계단을 생각하시면 됩니다.
올라 갈때 낮은곳 부터~ 높은 곳으로
내림차순은 높은 계단에서 낮은 쪽으로!
스크립트 코딩이 어마어마 하죠?ㅎㅎ
추가블럭에서 우리가 코딩을 해야 되는데
버블정렬 알고리즘을 처음부터 하라고 안합니다.
동작이 잘 되게 고치라고 되어있죠.
와!!! 처음부터 안만들어도 된다^^!!!
다른 문제풀이에서도 말씀 드렸지만
기본적으로 동작의 흐름과 이해를 완벽히 해야
수정을 할 수 있습니다.
어려운거에요!!!
그러니 알고리즘 공부를 열심히 하자!
보기 블럭에 있는 블럭만 이용해서 문제를 풀어야 됩니다.
정렬 추가 블럭을 보니 빠져 있는 부분이 있네요.
여기서!!!!! 빠져 있는 부분만 채우면 된다?
아닙니다!!!!
몇몇 분들이 오해를 하시는데
기존에 되어 있는 곳에서 고쳐야 될 수도 있는거에요!
문제는 이 추가 블럭이 잘 동작되도록 바꾸라고 한거지
중간에 빈칸을 채우는 문제가 아니라는 겁니다! OK??!
보기블럭들을 문제 있는 곳으로 복사를 해왔습니다.
보기 편하닌깐~~
이것도 한가지 시험 Tip이에요.
보기 블럭 스프라이트와 문제 스프라이트를
왔다갔다 하면 뭐가 있는지 잘 모르기 때문에
보기 블럭에 스크립트들이 많지 않다면
복사해와서 작업 하시는게 훨씬 더 시간을 절약 할 수 있습니다^^!
자 그나저나 우리는 버블정렬을 이용해서
오름차순을 해야 되는데
버블 정렬이 뭔지 아세요?
버블 정렬 이란?!
- 서로 이웃한 데이터들을 비교하며 가장 큰 데이터를 맨 뒤로 보내는 방식 입니다. -
자 위에 해당 블럭에 뭘 구현해야 될지 간단히 써봤습니다.
기본적으로 문제에도 나오 있듯이
리스트(4개의 각 블럭 : 9, 5, 6 ,2)들을 비교해야 되는거죠?
변수에 대한 이해가 잘 되어 있어야 넣을 수 있는 자세히 보죠.
Num은 ? 정렬할 목록의 수 입니다.
이번 문제에서는 몇인가요? 4개 입니다.
9,5,6,2 닌깐요~~~
J : n번째 수를 저장
K : n+1번째 수를 저장
J하고 K가 필요한 이유는
그러면 각각의 숫자를 돌아가면서 비교 해야 되니 2개가 필요 한 거에요.
그리고 값을 바꾸기 위해서 바로 바꿀 수 없으니
Temp라는걸 이용해서 잠시 담아 두고 바꾸는 겁니다.!!
이전 설명에서 J가 여기서 필요한건 아셨죠?
J가 포함된 건 하나밖에 없었습니다.
Num - J 였죠.
그 안에 내용을 보면 다른 변수가 또 하나 증가하는걸 볼 수 있죠.
K까지 바꿔 줘야 겠죠?
흠...어려우신가요?? 잘 이해가 안될 때는
이렇게 해보시죠.
기존 문제의 전체 흐름도를 올려 놓고
각각의 반복문에 값을 넣어보면서 해보세요.
그러면 흐름이 조금씩 보일 겁니다.
위 화면 버블 정렬이 처음시작 되었을 때
해당 변수들이 갖고 있는 값입니다.
즉 무엇이냐.
리스트 4칸 중에 제일 앞칸에 가장 작은 것을
옮기기 위한 작업이다.
위 화면은 첫번째 칸을 비교하기 위해 두번째로 실행 되는 화면 입니다.
그래서 J는 아직 1이지만
중간 K는 2로 바뀌었죠~
옆으로 이동하면서 비교를 해야 되기 때문입니다.
즉 위와 같이 K+1를 넣어 줘야 되는곳을 알게 되는거죠.
자 이렇게 블럭을 추가 및 수정을 한뒤
실행을 보시죠.
먼저 4개의 리스트들을 9,5,6,2 정렬이 안된 숫자를 입력 후
시작을 누르게 되면
오름차순으로 정렬된 결과를 보실 수 있습니다!!!
자 어떠신가요?!!
드디어 COS 1급 예제 문제 모든 해설을 완료 하였습니다.
공식적인 해설집이 없어서 급하게 만드느라
정신이 없었지만 많은 도움이 되길 바랍니다.
관련 질문은 항상 환영인거 아시죠?
요즘 코딩 선생님 양성을 위해서도
쉽고 잼있고 가르쳐 드릴려고 노력 중 입니다.
제 수업을 들으시는 분들과 COS 1급을 취득하시고 싶은
분들에게 도움이 되길 바라며..
YBMIT 공식 COS1급 예제 문제 풀이 연재를
이것으로 끝내도록 하겠습니다^^!!!
그럼 조이코딩연구소
장샘은 이만..
물러갑니다!!!!!
휘리리릭!!!!
뿅!!
아래 위 하트 공감 클릭은 돈이 들지 않아요!!!
관심은 제겐 항상 큰 힘입니다!!
P.S : 질문도 무료 인거 아시죠?ㅎㅎ
'코딩 교육 자격증 & 코딩 강사 자격증 & 코딩 자격증 정보 > 2. COS 코딩스페셜리스트' 카테고리의 다른 글
9. COS 1급 예제 문제 풀이_코딩 스페셜리스트(9/10) (0) | 2017.07.01 |
---|---|
8. COS 1급 예제 문제 풀이_코딩 스페셜리스트(8/10) (0) | 2017.07.01 |
6. COS 1급 예제 문제 풀이_코딩 스페셜리스트(6/10) (0) | 2017.07.01 |
7. COS 1급 예제 문제 풀이_코딩 스페셜리스트(7/10) (0) | 2017.06.30 |
5. COS 1급 예제 문제 풀이_코딩 스페셜리스트(5/10) (0) | 2017.06.30 |