Algorithm (117) 썸네일형 리스트형 [백준] JAVA - 2839.설탕배달 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; /** * 봉지최소개수 * dp[n] : n킬로그램 배달하는데 3kg,5kg 봉지 최소 개수 합 * dp[0] = 0 * dp[3] = 1 * dp[5] = 1 * */ public class Baekjoon_2839_설탕배달 { static int answer = 0; static int[] dp; public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new Buff.. [백준] JAVA - 2961.도영이가 만든 맛있는 음식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Baekjoon_2961_도영이가만든맛있는음식 { /** * 재료를 적어도 하나는 사용 * 차이를 최소로 만드는 요리의 차이값을 출력 * */ static int N; static int[] sour; static int[] bitter; static int answer; public static void main(String[] args) throws NumberFormatException, IOException { // TODO Auto-generated.. [SWEA] JAVA - 6808. 규영이와 인영이의 카드게임 package com.ssafy.off; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class SWEA_6808_규영이와인영이의카드게임 { /** * 규영이 카드 입력받음.(18장에서 규영이 카드 뺀게 인영이카드) * 이때 인영이가 카드의 순열을 어떻게 하느냐에 따라서 규영이가 이기는 경우, 지는 경우 몇가지? * @throws IOException * @throws NumberFormatException * */ static int[] A; //규영 static int[] B; //인영 static boole.. [백준] JAVA - 3040.백설 공주와 일곱 난쟁이 package com.ssafy.off; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Baekjoon_3040_백설공주와일곱난쟁이 { static final int N = 7; static int[] numbers; static int[] result; static boolean isSelected[]; public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sy.. [백준] JAVA - 7569.토마토 package com.java.algorithm; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Tomato{ int h; int y; int x; public Tomato(int h, int y, int x) { this.h = h; this.y = y; this.x = x; } } public class Baekjoon_7569_토마토 { /** * 토마토익은곳 위 아래 평면기준 네 방향 익어버림 (3차원) * 며칠이 .. [백준] JAVA - 3055.탈출 생각 좌표에서 초기 물의 위치가 한개이상 주어질수 있습니다. 그렇기 때문에 BFS문제로 접근하되 물을 먼저 큐에 넣어주고 물의 이동에 대한 모든 처리를 끝내준 다음 고슴도치를 이동시켜야 하는 BFS 문제입니다. (바로 전날에 7569 토마토문제를 풀어봐서 비슷한 유형이라고 느꼈습니다.) 처음에는 물과 고슴도치의 좌표 정보를 구분해서 줘야되나라고 생각하다가 (전에 풀어본 SWEA 배틀필드 문제가 생각났습니다.) 클래스 정보에 고슴도치와 물을 구분하는 값을 줘서 처리했습니다. (고슴도치 : 1, 물: 0) 1. 처음 입력을 받을때 큐에 물의 좌표를 넣습니다. 이때 구분값도 같이 넣어줍니다. 2. 마지막으로 고슴도치의 위치를 큐에 넣습니다. 마찬가지로 구분값도 같이 넣어줍니다. 3. 고슴도치의 이동 거리를 저.. [백준] JAVA - 1520.내리막길 입력조건 범위를 대충 확인하고 DFS로 풀어야지ㅎㅎ 했다가 시간초과가 나서 다시 DP로 풀었습니다. 테스트 케이스는 맞는데 시간초과가 뜨면 너무 슬프네요ㅠㅠ 시간초과가 난 이유는 사방탐색에 재귀로 계속 다음단계를 정하러 들어가므로 4의 (N*M)제곱 이 되기때문에 약 4의 500*500 제곱번의 연산을 수행하게 됩니다. 제가 정의한 DP[i][j] 는 시작좌표인 (0,0) 에서 (i,j)로 갈수있는 경로수의 합입니다. 이떄 초기 dp의 값을 -1로 초기화를 해줘야 합니다. 만약 이렇게 해주지 않으면 내리막길로 이동을 하다가 멈추는 지점이 존재할수있는데 그 지점에서의 dp 값은 0이 됩니다. 여기서 초기값을 0으로 해주었으면 같은 경우라고 판단하기때문에 연산을 다시 수행하게 됩니다. 따라서 -1로 초기화를.. [백준] JAVA - 14503.로봇청소기 생각 문제 자체는 단순하다고 생각했습니다. 그런데 후진 조건을 잘못 생각해서 고생한 문제입니다ㅠㅠ 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 청소를 진행한다고 적혀있어서 정말 단순하게 '4방향 벽 and 4방향 청소이미한곳' 이라고 코드를 짰더니 계속 값이 적게 나왔습니다.. 구글링을 통해 후진조건은 4방향을 청소기가 탐색했는데 더이상 청소불가 and 전진불가라는것을 알았습니다. 우선 문제의 전체적인 로직은 BFS탐색을 통해 청소기를 계속해서 이동시켰고 추가적으로 후진조건을 넣었습니다. 또한 이런 그래프 탐색 문제에 추가적인 조건이 있는 문제 같은 경우 BFS를 사용한 코드가 문제 해결에 적합할수있다는 것을 스터디원에게 배웠습니다!! 청소기는 왼.. 이전 1 ··· 8 9 10 11 12 13 14 15 다음