이번년도의 목표 정보처리기사 취득하기
실기가 20일 남짓 남았다.
알고리즘을 이해하기 위해 블로그에 정리해본다.
동작 설명
첫번째부터 마지막까지 가장 작은수(오름차순으로 정렬할때)나 가장 큰 수 (내림차순으로 정렬할때)를 '선택'하여 가장 왼쪽 첫번째에 놓는게 포인트임.
개인적으로 알고리즘을 이해하는데 중요한것은 '패턴'을 찾아내는것 같다.
동작을 그림으로 풀어봤을때 해당 알고리즘의 패턴은..
범위는
기준이 되는 수는 배열의 시작에서 시작해서 끝에 도달하면 끝난다.
비교하는 수는 시작이되는수 +1 부터 시작해서 끝에 도달하면 끝남.
동작은
기준이되는 수와 비교되는수를 비교해서 swap한다.
i는 기준이 되는 수고 j는 비교하는수다.
i는 배열의 숫자 -1에서 끝난다는것을 유의하자.
어떻게 더 설명해야 할 지 모르겠다...
코드를보자.
시험에는 JAVA랑 C로 나온다는데 문법은 크게 다르지 않으니 그냥 자바스크립트로 연습해본다.
근데 기출문제는 이렇게 나오나보다. 차암나. 위에 훠얼씬 간결한 방법이 있는데.. 헷갈린단말이야.
'Today I learned' 카테고리의 다른 글
[정보처리기사 알고리즘] 이차원 배열 '모래시계' (0) | 2019.09.25 |
---|---|
[정보처리기사 알고리즘] 버블정렬 (0) | 2019.09.23 |
[이클립스 플러그인] 이클립스에서 Vim 환경 사용하기 (1) | 2019.09.22 |
[이클립스] 자주 사용하는 단축키 정리 (0) | 2019.09.22 |
[JavaScript] 보안을 위해 console 로그 막기. (0) | 2019.09.09 |
댓글