분류 전체보기

    [백준] 2629번 양팔저울 풀어보기 [Java]

    [백준] 2629번 양팔저울 풀어보기 [Java]

    관계식이 있는 dp문제였다. 관계식만 잘 구하면 잘풀수 있어 골드3까지는 아닌거 같다!!(내가 뭐라고 평가하나,,,,ㅋㅋㅋ) 👨‍🏫 풀이 나는 세가지 경우를 나눠서 풀었다. 1. 지금 추를 더하는 경우 2. 지금 추를 더하지 않고 넘어가는 경우 3. 지금의 무게가 추보다 작다면, 추에서 현재 무게를 빼고, 크다면, 현재 무게에서 추를 뺀다. Base case 1. weight 음수가 되면 안되고(원래 0이 될일도 없기 때문에 0을 포함해줘야 됐지만, 나는 첫 시작 무게를 0으로 설정을 해줘서 0을 포함해주지 않았다.) 40000보다 크면 안된다. 2. 주어진 추는 한번만 사용가능하기 때문에 주어진 추를 다 방문했는지 체크 👨🏻‍💻 코드 package 번2629; import java.io.Buffered..

    [백준] 1405번 미친 로봇 풀어보기 [Java]

    [백준] 1405번 미친 로봇 풀어보기 [Java]

    단순한 DFS문제였다. 퍼센트를 구하는 거여서, 약간 어떻게 구하지라는 조금의 의문은 있었지만 단순했다!! 👨‍🏫 풀이 인풋을 100으로 나눠주어, 퍼센트로 나타내준다!! 맵이 아니기 때문에, 나가는 것이 존재하지 않기 때문에 충분히 큰 visited를 체크하는 배열을 만들어준다.(움직일 수 있는 최대 숫자가 14이기 때문에 나는 [30][30] 배열을 만들었다) dfs를 진행하면 된다. 만약 N만큼 움직였다면, 현재 퍼센트를 ans에 더해준다. 이전에 방문했던 적이 있다면 단순하지 않은 이동경로이기 때문에 가지 않는다!! 👨🏻‍💻 코드 package 번1405; import java.io.BufferedReader; import java.io.IOException; import java.io.Input..

    [백준] 16234번 인구 이동 풀어보기 [Java]

    [백준] 16234번 인구 이동 풀어보기 [Java]

    구현과 BFS문제이다. 두 문제 연속으로 한번에 맞춰서 기분이 좋다. 하지만, 효율성이 극악인거 같다,,,,좀 더 효율이 어떻게 좋게 만들지 고민을 해야겠다!! 👨‍🏫 풀이 어느 나라가 국경을 서로 여는지 알기 위해서, BFS로 현재 연 국경에 대해서 모두 구했다. 그래서 국경을 연 나라끼리는 동일한 숫자를 저장해줬다. 서로 국경을 연 나라를 조각으로 봤다. 그리고 조각에는 국경을 연 나라들의 인구수 합과 나라 갯수를 저장했다. 조각들의 갯수가 N*N이라면, 모든 나라가 국경을 연 것이 아니기 때문에 시뮬레이션을 끝냈고, 그렇지 않다면, 저장한 조각들의 나라들에게 인구수의 합 / 나라 갯수를 해줘서 저장을 해줬다. 조각들의 갯수가 N*N이 될때까지 계속 해주었다. 👨🏻‍💻 코드 package 번16234..

    [백준] 16926번 배열 돌리기 1 풀어보기 [Java]

    [백준] 16926번 배열 돌리기 1 풀어보기 [Java]

    구현 문제였다. 나와있는 그대로 구현하면 되는 문제이다!! 👨‍🏫 풀이 맨 겉에서 부터 움직이면서, 안으로 들어갔다!! 그리고 맨 윗줄, 왼쪽줄, 아랫줄, 오른쪽줄 나눠서 구현을 했다! 👨🏻‍💻 코드 package 번16926; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N,M,R; static int nMax, nMin, mMax, mMin; static int[][] map; static int[][] temp; public static void main(Strin..

    [백준] 2174번 로봇 시뮬레이션 풀어보기 [Java]

    [백준] 2174번 로봇 시뮬레이션 풀어보기 [Java]

    말 그대로 시뮬레이션 문제이다. 그래서 진짜 하라는대로만 하면 된다!!! 이 문제에서는 왼쪽 아래를 (1,1)을 뒀는데, 나는 이것을 왼쪽 위로 값을 변경해서 풀었다. 변경해서 풀 때 실수가 있어서 좀 오래걸렸다,,,,실수만 없으면 금방 풀었을 텐데,,, 실수도 실력이니 실수를 줄이자,,!! 👨🏻‍💻 코드 package 번2174; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.Buffer; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; public ..