[정보처리기사 알고리즘] 이차원 배열 '모래시계' 이번년도의 목표 정보처리기사 취득하기 실기가 20일 남짓 남았다. 알고리즘을 이해하기 위해 블로그에 정리해본다. 동작 설명 배열 문제를 쉽게 구현하는방법은 매트릭스를 그린 후 그 위에 좌표를 작성하면 패턴을 찾기가 한결 수월해진다. 글보다 그림으로 그려서 이해해봅시다. 좌표를 그리고 그 위에 우리가 목표로 하는 모래시계를 그려본다. 규칙을 살펴보면... 1행은 0부터 끝까지 숫자를 출력한다. 2행은 1부터 끝-1까지 숫자를 출력한다.. 3행은 2부터 끝-2까지 숫자를 출력한다. 변수가 있는데. 바로 한칸씩 앞뒤로 줄어들다가.. 가운데를 지나면 다시 한칸씩 늘어난다는 점이다. 이문제의 핵심은 다중반복문을 상, 하로 나누어서 동작한다는것에 있다. V는 여기서 증가하는 값이 된다. 별을 찍어줄거면 상관없지만,.. 2019. 9. 25. [정보처리기사 알고리즘] 버블정렬 이번년도의 목표 정보처리기사 취득하기 실기가 20일 남짓 남았다. 알고리즘을 이해하기 위해 블로그에 정리해본다. 동작 설명 어언 10년전 고등학교때 배운 알고리즘중에 유일하게 기억에 남는 알고리즘. 선생님이 '마치 거품이 올라가는것같은 모양을해서 버블정렬'이다 라고 해서 아재개그 하시는줄 알고 속으로 웃었는데 알고보니 정말 이름의 유래였다. 선생님 보고계시다면 죄송합니다. 그때 공부 열심히 안해서 지금까지도 버블정렬을 공부하고 있네요. 어쨌든 버블정렬에 대한 기본 아이디어를 이해해보자. 첫번째 단계, 전체 데이터 N개 가운데 가장 큰 데이터가 가장 오른쪽(N번째 위치)에 오도록 한다. 이를 위해서 먼저, 가장 왼쪽의 데이터(1번째 데이터)와 이 데이터의 바로 오른쪽의 데이터(2번째 데이터)를 비교하여, .. 2019. 9. 23. [정보처리기사 알고리즘] 선택정렬 이번년도의 목표 정보처리기사 취득하기 실기가 20일 남짓 남았다. 알고리즘을 이해하기 위해 블로그에 정리해본다. 동작 설명 첫번째부터 마지막까지 가장 작은수(오름차순으로 정렬할때)나 가장 큰 수 (내림차순으로 정렬할때)를 '선택'하여 가장 왼쪽 첫번째에 놓는게 포인트임. 개인적으로 알고리즘을 이해하는데 중요한것은 '패턴'을 찾아내는것 같다. 동작을 그림으로 풀어봤을때 해당 알고리즘의 패턴은.. 범위는 기준이 되는 수는 배열의 시작에서 시작해서 끝에 도달하면 끝난다. 비교하는 수는 시작이되는수 +1 부터 시작해서 끝에 도달하면 끝남. 동작은 기준이되는 수와 비교되는수를 비교해서 swap한다. i는 기준이 되는 수고 j는 비교하는수다. i는 배열의 숫자 -1에서 끝난다는것을 유의하자. 어떻게 더 설명해야 할.. 2019. 9. 23. [이클립스 플러그인] 이클립스에서 Vim 환경 사용하기 하드한 Vim 유저는 아니였지만 Vim 에디터를 먼저 사용했었기 때문에 이클립스의 단축키는 살짝 불편하다고 느껴왔었다.. 이클립스와 비슷한 개발환경을 맞추기 위해서 Vim에 여러가지 플러그인을 잔뜩 깔아야 한다면.. 차라리 이클립스를 사용하는것이 낫다고 생각함. 그래서 역으로 이클립스에서 Vim명령어를 사용할 방법이 없을까! 해서 찾아봤었는데... 플러그인이 있었다. 설치결과 나름 만족스러움. [플러그인: Vrapper] [참고: https://www.joinc.co.kr/w/Site/Vim/Documents/eclipse_vim] 2019. 9. 22. [이클립스] 자주 사용하는 단축키 정리 과제할때는 과제외의 모든게 다 재밌다. 과제 하기싫어서 시작해보는 이클립스 자주 사용하는 단축키 정리 + 생각날때마다 추가할 예정 0. 단축키 설정하는 메뉴 window - preference - Keys 단축키 등록하는법 - Binding 에 단축키로 사용할 키를 누르고 Apply를 클릭한다. (개인적으로 Bookmark 키는 Ctrl + `에 등록해서 임시로 사용하고있는데.. 손가락이 짧아서 조만간 옮길듯하다..ㅠㅠ) 1. 메서드 선택 후 F3 - 해당 메서드의 구현부를 볼 수 있다. 해당 메서드가 외부 라이브러리로써 jar로 말아있는 상태라면 코드를 볼 수 없는듯하다. 2. 파일 이름으로 검색 - Ctrl + Shift + r 주의할점은 이클립스에 열려있는 모든 프로젝트 내부에서 파일을 검색하기 때.. 2019. 9. 22. [JavaScript] 보안을 위해 console 로그 막기. 운영레벨에서 보안을 위해서 console로그 출력을 막아보자. 개발시점 console로그는 디버깅에 도움을 주지만, 운영시점에서는 불필요한 정보를 제공하는 취약점이 될 수도 있다. 코드를 먼저 보자. //전역변수로 선언 console = {}; console.log = function(){}; console.warn = function(){}; console.error = function(){}; 코드를 설명하자면, 우리가 console 객체를 사용 할 수 있는 이유는 내부에 미리 객체가 선언되어 있기 때문이다. console에는 메서드들이 선언이 되어있다. 위의 코드는 내장객체인 console을 {}로 덮는다. 그렇게되면 너무나 당연하게 console내부에 선언 된 메서드들도 사라진다. 이글을 쓰며, .. 2019. 9. 9. 이전 1 ··· 29 30 31 32 33 34 35 ··· 47 다음