본문 바로가기

전체 글373

[JAVA] 프로그래머스 LEVEL3 디스크 컨트롤러 https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 힙(Heap) > 디스크 컨트롤러 난이도: LEVEL3알고리즘 유형: 우선순위 큐 사용 구현  주석에 모든 내용을 기록  정답 코드 import java.util.*;class Solution { public int solution(int[][] jobs) { int n = jobs.length; // 요청 개수 // 현재 남은 요청중에.. 2024. 10. 20.
[JAVA] 프로그래머스 LEVEL3 GPS https://school.programmers.co.kr/learn/courses/30/lessons/1837 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2017 카카오코드 본선 > GPS 난이도: LEVEL3알고리즘 유형: DP(Dynamic Programming) 문제 풀이 DP로 풀지 않고 그래프 탐색을 사용해서 풀면 시간 초과가 발생한다. 경우의 수가 너무 많다.  먼저 2차원 그래프를 만든다.int [][] map = new int [n+1][n+1]; for(int i = 1; i 불가능한 경로를 기록하기 위해 .. 2024. 10. 19.
[Design Pattern] 빌더(Builder) 패턴 빌더 (Builder) 패턴동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법(복잡한) 객체를 만드는 프로세스를 독립적으로 분리할 수 있다빌더 패턴 적용 Before@Getter @Setter @ToString@NoArgsConstructor @AllArgsConstructorpublic class DetailPlan { private int day; private String plan;}@Getter @Setter @ToString@AllArgsConstructor @NoArgsConstructorpublic class TourPlan { private String title; private int nights; private int days; private L.. 2024. 10. 19.
[Design Pattern] 추상 팩토리(Abstract Factory) 패턴 추상 팩토리 (Abstract factory) 패턴?추상 팩토리 패턴 (Abastract Factory Pattern)은 객체 생성과 관련된 디자인 패턴 중 하나이다.관련된 객체들의 그룹을 생성하는 인터페이스를 제공하는 패턴이다. 즉 상세한 클래스 명시 없이 객체를 생성할 수 있는 방법을 제공한다. 이 패턴은 팩토리 메소드 패턴보다 한층 추상화된 구조여러 제품 군을 생성할 수 있는 팩토리들을 조직화하는데 사용된다.구체적으로 어떤 클래스의 인스턴스를(concrete product)를 사용하는지 감출 수 있다. 추상 팩토리 패턴 적용  Beforepublic interface Anchor {}public class WhiteAnchor implements Anchor {}public interface Whe.. 2024. 10. 18.
[Design Pattern] 팩토리 메소드(Factory Method) 패턴 팩토리 메소드 (Factory method) 패턴팩토리 메소드는 객체 생성 방식을 캡슐화하여 객체 생성의 책임을 서브클래스에 위임하는 디자인 패턴이다. 이 패턴은 객체 생성을 위해 new 연산자를 직접 사용하지 않고, 객체 생성 과정을 별도의 메소드로 정의하여  객체 생성의 유연성을 높인다.  팩토리 메소드 패턴의 구조  Creator(창조자 인터페이스)객체 생성을 위한 팩토리 메소드를 정의하는 인터페이스를 의미 실제로 객체를 생성하지 않으며, 서브클래스(구체적인 창조자 클래스)가 이 메소드를 구현하여 객체를 생성  ConcreteCreator(구체적인 창조자 클래스)Creator 인터페이스의 서브클래스(구현 클래스), 실제 객체 생성을 담당   Product(제품)팩토리 메소드가 생성하는 객체의 타입을.. 2024. 10. 18.
[JAVA] 프로그래머스 LEVEL2 유사 칸토어 비트열 https://school.programmers.co.kr/learn/courses/30/lessons/148652 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 연습문제 > 유사 칸토어 비트열 난이도: LEVEL2알고리즘 유형: 구현문제 풀이 n번째 유사 칸토어 비트열은 n-1번째 비트열에서 1은 11011로 치환  0은 00000 치환하여 만든다. 0 번째 유사 칸토어 비트열은 "1" 고정이다. 그럼 n번째 유사 칸토어 비트열 길이는 5^n이다.  매번 1을 11011 0을 00000으로 치환해서 직접 유사 칸토어 비트열 문자열을 만들고.. 2024. 10. 18.