Java

Singleton 패턴 💡 인스턴스가 하나만 존재하는 것을 보증하는 패턴 등장인물 Singleton 유일한 인스턴스를 얻기 위한 `static` 메소드를 가짐 → 항상 같은 인스턴스를 반환 public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { System.out.println("인스턴스 생성") } public stgatic Singleton getInstance() { return singletone; } } Singleton 클래스 로드할 때 초기화 진행 `private` 생성자 : 외부에서 생성자 호출을 금지하기 위함 `getInstance()`: 유일한 인스턴스를 얻는 메..
Adapter 💡 ‘이미 제공된 것’과 ‘필요한 것’ 사이의 ‘차이’를 메우는 디자인 패턴 Wrapper 패턴이라고도 불림 [예제] 상속을 사용한 패턴 클래스에 의한 Adapter 패턴 Banner 클래스 미리 제공되는 클래스 public class Banner { private String string; public Banner(String string) { this.string = string; } public void showWithParen() { System.out.println("(" + string + ")"); } public void showWithAster() { System.out.println("*" + string + "*"); } } Print 인터페이스 필요로 하는 인터페이스 ..
문제 (Gold 5) https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 문제가 참,, 여러모로 이해하기 어려웠다,, 다른것보다 갑자기 출력하라고 나온 단어인 '단계'가 무엇인지 예제를 몇개 돌려보고야 알았던 것 같다. 여기선 1-4의 루틴을 한 단계라고 하고, 종료되기까지 총 몇번의 단계를 거쳤는지를 구하면 된다. 처음엔 일의 순서로 나와있는 1,2,3,4가 한 단계를 나타내는 줄 알았고, 예제1의 출력이 '2'번 단계..
문제 (Silver 1) https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 풀이 길이가 k인 슬라이딩 윈도우로 구현하였다. 이 때, 매번 i번째에 대해서 k개를 탐색하는 것이 아니라 ( → 시간초과! ) 초기의 window를 셋팅하고 start와 end 인덱스에 대해서만 처리하였다. 슬라이딩 할 때, eat[start] 값을 -1하고, 그 값이 0이라면 cnt를 하나 감소시킨다. → 윈도우 안에 해당 종류의..
점이
'Java' 태그의 글 목록