목록분류 전체보기 (248)
S E P H ' S
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bP15un/btr6C0szCbp/3X6jm72kCkVA5L0lMtN5hk/img.jpg)
17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 풀이 시계 방향, 반시계 방향으로 원판을 회전하는 기능 인접수를 찾는 기능 평균을 구해 평균에 따라 원판의 수를 업데이트 하는 기능 회전하는 기능은 쉽게 구현해냈고 인접수를 찾아 없애는 것은 문제의 조건에 따라 인접한 수가 같으면 그 좌표값들을 Set에 Point 객체에 담아 넣었다. 그리고 인접수를 찾는 과정이 모두 끝나면 Set 담긴 객체들의 좌표에 해당하는 곳을 0으로 업데이트 해준 다음 평균값에 따라 계산을 해준 다음 원판의 모든 수의 합을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oW3RL/btr6qQJ0gfp/GXDva7JavjU3kSt9M2ksGk/img.jpg)
스택(Stack) 구현 클래스 및 생성자 구성 resize 메소드 구현 push 메소드 구현 pop 메소드 구현 peek 메소드 구현 search, size, clear, isEmpty 메소드 구현 ArrayList를 상속한 Stack Stack 클래스 및 생성자 구하기 public class Stack implements StackInterface{ private static final int DEFAULT_CAPACITY = 10; // 최소 용적 크기 private static final Object[] EMPTY_ARRAY = {}; // 빈 배열 private Object[] array; // 요소를 담을 배열 private int size; // 요소 개수 public Stack() { th..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JAQ5e/btr6nWYhJR4/Ho2cQtumZ4L7KzQgsD5jYk/img.jpg)
Stack Interface 스택은 먼저 들어온 데이터가 마지막에 나가게 되는 후입선출(LIFO = Last In First Out) 구조를 가지는 자료구조이다. 코딩을 하다가 자주 만나게 되는 'java.lang.StackOverFlowError'가 이 스택에서 나는 것이다. 메소드를 호출할 때마다 메소드 내에 정의된 변수들의 값이 stack 메모리에 쌓이게 되는데 재귀가 깊어지면 stack 메모리에 이 값들이 쌓이면서 해당 총량이 할당된 메모리보다 커질 때 내뱉게 된다. 자바 내부에서는 스택은 Vector 클래스를 상속받아 사용한다. Vector는 ArrayList와 크게 다르지 않다. 내부 구조는 Object[] 배열로 데이터들을 관리하며 전체적인 메소드 구조도 많이 유사하다. 다만 차이점은 동기화..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Tpfn6/btr5PHWul1U/tKkvZ5krrJQRNzGiZK8191/img.jpg)
인터프리터(Interpreter) 패턴 인터프리터 패턴이란? 프로그램을 작성할 때 프로그램의 모든 행위를 정의하지 못하는 경우도 있다. 예를 들어서 브라우저를 만들때, 사이트 디자이너가 웹 페이지를 어떻게 행동하게 하고 싶어할지에 대해서 모두 예측하는 것은 불가능하다. 그럴때 JavaScript와 같은 인터프리터 언어를 통해서 브라우저에 브라우저 프로그래머가 구현하지 않은 행위를 추가할 수 있도록 한다. 인터프리터 패턴은 이러한 용도에 사용되는 인터프리터를 작성할 수 있도록 해준다. 먼저 언어의 문법을 기술하는 규칙들에 대한 형식 문법을 정의한다. 그리고 각 규칙들을 클래스를 통해 구현한다. 이 클래스들은 Context 객체를 공유하며, Context 객체를 통해 입력을 받고 변수 값을 저장하는 등의 작..