출저 : https://www.acmicpc.net/problem/4920 "전체 다해보자. 이상한 문제 trim() 주의." 브루트포스. 전체 다해보자. 삼성 기출의 테트로미노가 훨씬 깔끔한 문제... 이거는 좌표 지정 다 해줘야 한다. 좌표 지정할때는 정말 정신 차리고 해야 한다. 그리고 입력으로 주어지는 데이터에 공백이 많으므로 trim() 하여 공백 처리해줬다. 이런 류의 문제 일일히 좌표 지정해주면 풀릴거 같으면 그냥 좌표 지정하자. 만약 좌표 지정하는데 너무 오래 걸린다... 막 테트리스 도형이 아니라 막 이상하다... 이러면 규칙을 찾아보자. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464..
출저 : https://www.acmicpc.net/problem/3019 "아구가 맞니?" 해당 문제를 처음에는 모든 조각의 상대 위치를 3?4? 차원 배열로 만들어서 모든 경우에 수에 따라 검색하려고 했다. 하지만 조각의 위치를 정의하는데 너무 복잡하고 더러워서 다른 방법을 찾아봄... 아구가 맞는지를 탐색하는 방법이다. 아래와 같이 돌출된 부분에 값을 준다. 전체 높이가 같은지 확인한다.아래 왼쪽 그림의 경우 높이는 2,1 이고 ㅓ 의 경우 돌출된 칸이 1칸 이므로 0,1 이렇게 한 후 높이와 이 값을 더한다. 왼쪽) 2 + 0 = 1+ 1오른쪽 ) 2+ 0 = 1 + 1 = 2 + 0 123456789101112131415161718192021222324252627282930313233343536..
출저 : https://programmers.co.kr/learn/courses/30/lessons/42888 "하라는대로~~~" 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 static final String str1= "님이 들어왔습니다.";static final String str2= "님이 나갔습니다."; public static String[] solution(String[] record) { HashMap map = new HashMap(); int size = 0; for(int i = 0 ; i
출저 : https://programmers.co.kr/learn/courses/30/lessons/12899"자리수와 시작 숫자를 구해서 그 지점에서부터 탐색" 구해야 하는 자리수와 시작 숫자를 알고 나서 그 지점부터 탐색하여 탐색 범위를 확 줄여서 시작한다. startWith= 1 startWith= 2 startWith= 4 length = 1 1 (1) 1 (2) 1 (4) length = 2 3 (11,12,14) 3 (21,22,24) 3 (...) length = 39 (...) 9 (...) 9 (...) 위와 같이 검색하면 내가 탐색해야 할 지점을 알 수 있다. 만약 여러 개의 테스트가 주어진다면 이 값을 배열로 저장하는 것도 좋을 듯 하지만 위 문제에서는 필요없어 매번 for문을 돌아서..
출저 : https://programmers.co.kr/learn/courses/30/lessons/17679?language=java "하라는대로~~~~" 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172static int[] dx = {0,0,1,1};static int[] dy = {0,1,0,1}; public static int solution(int m, int n, String[] board) { int answer = 0; char[][] map = new char[m][n]; boolean[][] ..
출저 : https://www.acmicpc.net/problem/14499 "구현하자." 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899import java.util.Scanner; class Main { static int N,M; static int x,y; static int K; static int[] dice = {0,0,0,0,0,0}; static int[][] map; static int[] dx = ..
출저 : https://www.acmicpc.net/problem/14888 "브루트포스" 다해보자~12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Main { static int N; static int num[]; static int op[] = new int[4]; static int max = Integer.MIN_VALUE; stati..
[Effective Java 3/E] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 Effective Java 3/E클래스가 내부적으로 하나 이상의 자원에 의존하고, 그 자원이 클래스 동작에 영향을 준다면 싱글턴과 정적 유틸리티 클래스는 사용하지 않는 것이 좋다.이 자원들을 클래스가 직접 만들게 해서도 안된다. 대신 필요한 자원을 혹은 그 팩토리를 생성자에 넘겨주자.의존 객체 주입은 클래스의 유연성, 재사용성, 테스트 용이성을 개선해준다.Java 8에서 소개된 Supplier 인터페이스가 팩토리를 완벽하게 구현한 예이다. Supplier 인자는 받지 않고 리턴값만 존재Class T로 받을 수 있지만, 좀 더 편한 것 같다.인자는 받지 않고 리턴값만 존재Supplier s = () -> "I'm S..
- Total
- Today
- Yesterday