본문 바로가기

분류 전체보기

(341)
[Java] Wrapper Class Wrapper Class Wrapper Class는 Object를 구현하는 클래스다. 즉, Wrapper Class는 Object의 메소드를 모두 쓸수있으며,Object를 파라미터로 요구하는 상황에서 유용하게 사용할수있다. WrapperClass의 종류 기본형 래퍼클래스 boolean Boolean char Character byte Byte short Short long Integer float Long double Float int Double WrapperClass 특징 1. 메모리 참조 package algorithm; public class Main { public static void main(String[] args){ Integer a = new Integer(999); int b = a;..
[백준 / BOJ] 1393 음하철도 구구팔 (Java) 문제 출처 : https://www.acmicpc.net/problem/1393 1393번: 음하철도 구구팔 첫번째 줄에는 xs와 ys가 주어진다. 이는 정류장의 위치가 (xs, ys)임을 의미한다. 두번째 줄에는 xe, ye, dx, dy가 주어진다. 이는 현재 열차 위치가 (xe, ye)이고, 열차가 1초마다 x가 증가하는 방향으로 www.acmicpc.net 최백준은 자신이 탄 음하철도 구구팔이 정류장과 가장 근접했을때 뛰어내릴려고한다. 자신이 탄 철도의 위치와, 이동방향, 정류장의 위치가 주어질때, 최백준이 뛰어내리는 위치를 구하는 문제다. 풀이 "뛰어내릴 위치의 좌표가 항상 정수인 입력만 주어진다." 조건때문에, 완전탐색으로 풀수있는 문제였다. 이게없었으면 이동하는 소수점단위까지 계산해야하므로,..
[Java] ArrayList ArrayList의 코드를보며 ArrayList에 대해 알아보자 용도 메소드 쿼리당 시간복잡도 리턴값 사이즈 확인 .size() O(1) int 비어있는지 확인 .isEmpty() O(1) boolean 요소의 인덱스 확인 .indexOf(Object o) O(n) int 요소 포함 확인 .contains O(n) boolean 요소의 마지막 인덱스 확인 .lastIndexOf(Ojbect o) O(n) int 복제 .clone() O(n) Object 인덱스값 참조 .get(int) O(1) generic 인덱스 값 변경 .set(int, generic) O(1) generic 값 추가 .add(generic) O(1) boolean 특정 인덱스 에 값 추가 .add(int, generic) O(n) ..
[백준 / BOJ] 1092 배 (Java) 문제 출처 : https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 크래인의 갯수 N, 화물박스의 갯수 M이 주어진다. (1
[디자인 패턴] 어댑터 패턴 문제 - 레스토랑 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에 알맞지 않을수도있습니다) 어댑터 패턴 인터페이스를 클라이언트에서 요구하는 인터페이스로 변경함으로써, 인터페이스를 호환시키는 패턴 문제 저번에 풀었던, 파스타 문제와 연결되는 문제다. https://dlwnsdud205.tistory.com/177?category=855600 [디자인 패턴] 싱글턴 패턴 문제 - 파스타 (데코레이터, 옵저버, 팩토리) 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에..
[백준 / BOJ] 1114 통나무 자르기 문제 출처 : https://www.acmicpc.net/problem/1114 1114번: 통나무 자르기 첫째 줄에 L, K와 C가 주어진다. L은1,000,000,000보다 작거나 같은 자연수이고, K는 통나무를 자를 수 있는 위치의 개수이다. K와 C는 10,000보다 작거나 같은 자연수이다. 둘째 줄에 통나무를 자를 수 www.acmicpc.net 길이 L인 통나무가 주어지고, 이 통나무를 자를수있는 위치가 K개 주어진다. (통나무는 입력된 위치에서만 자를수 있다.) 통나무를 자를수있는 횟수 C가 주어졌을때, 통나무를 적절히 잘라 통나무의 가장 작은 길이가 최대가 되며, 이때 가장 먼저 잘라야하는 인덱스를 구하는 프로그램을 만드는 문제다. 풀이 결정문제 패턴으로 자주 나오는 문제다. 자를수있는 위..
[디자인 패턴] 커맨드 패턴 문제 - 커피공장 (커맨드 패턴, 데코레이터 패턴) 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에 알맞지 않을수도있습니다) 커맨드 패턴 - 메소드를 캡슐화하여 매개변수화 하는 패턴. - Invoker(메소드 요청자)는 메소드의 정보를 알 필요없이, 매개변수를 입력받아 execute를 실행하기만하면 된다.(즉, Invoker는 메소드 클래스가 execute를 구현한다는 사실 외엔 아무것도 몰라도된다.) - OCP원칙을 지키며, 코드의 수정을 최소화함 문제 커피 공장에서 일하고있는 준영이는 일이 너무 힘들어, 로봇을 만들어 자신의 작업을 자동화 해놓을려고한다. (준영이의 공장은 커피를 섞는 작업까지도 손으로 하는 수작업 공장이..
[백준 / BOJ] 1103 게임 문제 출처 : https://www.acmicpc.net/problem/1103 1103번: 게임 줄에 보드의 세로 크기 N과 가로 크기 M이 주어진다. 이 값은 모두 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 보드의 상태가 주어진다. 쓰여 있는 숫자는 1부터 9까지의 자연수 또는 www.acmicpc.net 형택이는 1~9까지의 숫자와 구멍이 있는 직사각형 보드에서 게임을 한다. 보드의 1,1위치에 동전을 하나 올려놓고, 동전을 다음과 같이 움직인다. - 동전이 놓인 위치에 있는 숫자만큼 위,아래,왼쪽,오른쪽 위치로 움직인다. (이 과정에서 구멍은 무시한다.) - 동전이 이동한 위치에 구멍이 있거나 동전이 보드 밖으로 나가면 게임이 종료된다. 형택이가 동전을 최대 몇번 움직일 수 있는지..