전체 글
-
Dragger-Hilt (Android Dependency Injection)Android 2023. 10. 30. 11:54
DI OOP(객체지향프로그래밍)에서 객체 간의 관계가 연관을 맺을 수 있도록 코드를 구성하는 것을 의존성 주입(의존관계구성)이라 함 의존성 주입방법 Constructor Injection Function@Method(Setter) Injection Field Injection Service Locator Pattern 의존성을 주입하는 방법 수동주입(종속 항목 수동 삽입) DI Framework을 이용한 주입(hilt) 장점 코드의 재사용성 익숙해지면 가독성이 좋음 코드를 분리하여 구성하므로 리팩토링이 용이하다 코드를 객체관점에서 분리하여 구성할 수 있어 테스트가 용이하다 => 실제 비지니스 로직과 연관된 부수적 작업을 분리하여 개발 가능 scopre(생명주기)를 이용한 관리 Dagger java/kot..
-
[java] 백준 3048 개미알고리즘 2023. 9. 5. 21:55
https://www.acmicpc.net/problem/3048 3048번: 개미 T초가 지난 후에 개미의 순서를 출력한다. 첫 번째 개미 그룹은 왼쪽에서 오른쪽으로 움직이고, 두 번째 그룹은 반대 방향으로 움직인다. www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { static ArrayList list = new ArrayList(); public static void ..
-
[java] 백준 14889 : 스타트와 링크알고리즘 2023. 8. 31. 21:30
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 시간초과 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { static int[][] arr; static int ..
-
[java] 프로그래머스 다트 게임알고리즘 2023. 8. 10. 11:29
https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(String dartResult) { int answer = 0; int[] score = new int[3]; int idx = 0; String num = ""; for (int i = 0; i = '0'..
-
[java] 프로그래머스 크레인 인형뽑기알고리즘 2023. 8. 9. 18:23
https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int cnt = 0; int row= board.length; int col= board[0].length; Stack st = new Stack(); for(int i=0; i0 && st.peek()==target){ st.pop(); b..
-
프로그래머스 할인행사알고리즘 2023. 8. 8. 01:40
https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 완전탐색으로 품 import java.util.*; class Solution { public int solution(String[] want, int[] number, String[] discount) { int answer = 0; for(int i=0; i
-
[java] 백준 16967 : 배열 복원하기알고리즘 2023. 8. 6. 22:29
https://www.acmicpc.net/problem/16967 16967번: 배열 복원하기 크기가 H × W인 배열 A와 두 정수 X와 Y가 있을 때, 크기가 (H + X) × (W + Y)인 배열 B는 배열 A와 배열 A를 아래로 X칸, 오른쪽으로 Y칸 이동시킨 배열을 겹쳐 만들 수 있다. 수가 겹쳐지면 수가 합쳐 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { st..
-
[java] 프로그래머스 두 큐 합 같게 만들기알고리즘 2023. 8. 6. 18:19
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음코드 import java.util.*; class Solution { public int solution(int[] queue1, int[] queue2) { int answer = -2; Queue q1 = new LinkedList(); Queue q2 = new LinkedList(); int sum1=0; int sum2=0; for(int i : queue1){ q1.add(i);..