출저 : 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..
출저 : https://www.acmicpc.net/problem/14890 "시뮬레이션" 해당 문제는 다리를 놓을 수 있느냐 없느냐 를 판별하는 것이 핵심인 문제로 아래와 같이 경사로는 두 가지로 분류할수 있다. 내려가는 경사로와 올라가는 경사로가 둘다 비슷하지만 조금 다른 부분이 있다. 내려가는 경사로의 경우 경사로가 이전에 방문하지 않았던 칸으로 놓이기 때문에, 경사로 설치 여부 체크를 하지 않아도 된다. 하지만 올라가는 경사로의 경우 이전에 방문했던 칸에 경사로를 놓아야 하기 때문에 이전에 경사로를 놓아 지금 칸에 도착한 것인지 판별해야한다... 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647..
출저 : https://www.acmicpc.net/problem/15686 "Brute force/ 다해보자." 1. 마을의 전체 치킨집 에서 m개의 치킨집을 고른다2. 각 집에서 m개의 치킨 중에 가장 가까운 거리를 구하고 모든 집에서의 치킨 거리를 더한다.3. 치킨 거리의 값 중 최소값을 구한다. 고대로 해줬다. 재귀를 가지고 m개의 치킨 집을 고른 후 거리를 구해줬다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687import java.io.Buffer..
- Total
- Today
- Yesterday