한번에 개구리 강 건너기 알고리즘
2018-11-12

1. 문제 개구리가 X 크기의 강을 건너려고 한다. 1초마다 X의 특정 위치에 나뭇잎이 떨어지는데, 몇 초를 기다리면 개구리는 강을 건널 수 있을까? 예 강의 크기가 5이고 아래처럼 나뭇잎이 떨어진다고 가정하면 개구리는 6초만에 강을 건널 수 있다. A[0] = 1 A[1]...

dev/study
순열 확인 알고리즘
2018-11-05

알고리즘 스터디에서 진행 중인 내용입니다. 1. 문제 랜덤 숫자로 이루어진 배열 A가 있다. 이 배열 A가 순열인지 확인하여 순열인 경우에 1을 반환하고 아닌 경우에 0을 반환하는 알고리즘을 작성하라. A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2...

dev/study
테이프 균형 알고리즘
2018-10-23

알고리즘 스터디에서 진행 중인 내용입니다. 1. 문제 숫자의 배열로 이루어진 A가 있고, 배열 A는 랜덤한 P 값에 의해 분리된다. P 값을 기점으로 |좌측의 합 - 우측의 합| 중 가장 작은 수를 구하라. P의 조건 0 < P < N 2....

dev/study
개구리 점프 알고리즘
2018-10-21

알고리즘 스터디에서 진행 중인 내용입니다. 1. 문제 개구리가 X 지점부터 Y 지점까지 이동할 때, D의 거리만큼 이동이 가능하다. 이때 최소 점프수를 구하라. class Solution { public int solution(int X, int Y, int D); } 2. 풀이 Y에서 X거리를 빼고, D로...

dev/study
zsh, zplug과 oh-my-zsh 시작하기
2017-12-19

최종 모습 zsh을 사용하게 된 계기 bash sh을 아주 잘쓰고 있었음 실수로 rm -rf ~를 입력 혼돈의 카오스 닷으로 시작하는 설정 파일들이 날라감 (.bash* 등등) 이렇게 된 이상 그 좋다던 zsh을 사용해보자. 셋업 환경 mac iTerm2 zsh 설치하기 mac은 기본적으로...

dev/etc
익스플로러 브라우저 close event 감지
2017-10-16

요즘 socket.io를 이용해서 웹 채팅 화면을 구현중이다. ie 요구사항은 9 버젼부터이다. ie9는 웹소켓을 사용할 수 없어서 폴링방식을 이용하여 통신하는데 아래과 같은 close 상황일 때에 문제가 발생하였다. 탭 창이 닫힌 경우 F5를 눌러서 새로고침 한 경우 ctrl + r을 눌러서 새로고침...

dev/javascript
자바스크립트 화살표 함수 (array function)
2017-09-21

array func은 아래와 같은 간단한 형태를 보면 매우 간단하나, 복잡한 구문을 보면 매우 어렵게 느껴진다. 쉬운 array func 부터 복잡한 array func까지 절차적으로 밟아보자. array func array func의 특징을 정리해보자면 아래와 같이 간략하게 정리할 수 있다. function에 비해 구문이 짧다....

dev/javascript
java proxy pattern (프록시 패턴)
2017-09-09

프록시는 실제로 액션을 취하는 객체를 대신해서 대리자 역활을 해준다. 프록시 패턴을 사용하게 되면 프록시 단계에서 권한을 부여할 수 있는 이점이 생기고 필요에 따라 객체를 생성시키거나 사용하기 때문에 메모리를 절약할 수 있는 이점도 생긴다. 프록시 패턴이 하는 일은 한마디로 자신이 보호하고...

dev/java
java composite pattern (컴포지트 패턴)
2017-09-09

컴포지트 패턴이란 클래스의 구조적 디자인 패턴으로 단일 객체와 복합 객체를 동일하게 컨트롤 할 수 있게끔 도와주는 패턴이다. 컴포지트 패턴은 아래와 같이 3가지의 요소에 의해 이루어진다. base component base component는 composition(구성자)을 위한 인터페이스로 구성된다. 클라이언트 클래스에서는 base component의 인터페이스를 사용하여 작업하게...

dev/java
java adapter pattern (어뎁터 패턴)
2017-09-03

adapter pattern은 관계가 없는 인터페이스들이 같이 일할 수 있도록 도와주는 디자인 패턴이다. 이 두 인터페이스를 이어주는 인터페이스를 adapter라 부른다. 아래 예제를 보면서 이해해보도록하자. volt class public class Volt { private int volts; public Volt(int v) { this.volts = v; }...

dev/java