목록Algorithm/BOJ (22)
Record
2023년 6월 23일 https://www.acmicpc.net/problem/16236 시간 : ❤❤🤍🤍🤍 만족도 : ❤❤🤍🤍🤍 ArrayList 자료 구조를 활용해서 거리별로 먹을 수 있는 물고기들을 담는 것을 떠올리는 것이 오래걸렸다.. 싸피 1학기 아침스터디 때 정했던 문제였었고, 그 당시 풀지 못했어서 다시 풀어보았는데 그 때 보다는 진전이 있었지만 아직도 많이 부족한 것 같다 ㅠㅠ 조금씩 하다보면 늘겠지,, 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import j..
2023년 6월 22일 https://www.acmicpc.net/problem/9370 시간 : ❤🤍🤍🤍🤍 만족도 : ❤🤍🤍🤍🤍 다익스트라 메소드 구현 시 route 배열을 만들어서 이동 경로를 저장하고 해당 이동 경로에 G, H 값의 유무로 출력을 도출했는데 계속 틀렸었다,, 왜 안되는지 잘 모르겠다 ㅠㅠㅠ 그래서 그냥 단순하게 시작점과 끝점을 인자로 받는 다익스트라 메소드를 구현해서 해결하였다. 하지만 시간이 너무 오래 걸려서 다른 풀이를 보니까 모든 가중치를 두 배로 만들고 G, H를 연결하는 간선만 두 배에 +1을 해서 홀수로 만들어주고, 다익스트라 메소드를 실행했을 때 결과값이 짝수면 G, H를 지나지 않았다는 뜻이고, 결과값이 홀수면 G, H를 지났다는 뜻이므로 다익스트라 메소드를 여러 번 ..
2023년 6월 22일 https://www.acmicpc.net/problem/13424 시간 : ❤❤❤❤❤ 만족도 : ❤❤❤❤❤ 전형적인 다익스트라 알고리즘 문제이다. 다익스트라 메소드를 만들어준 뒤, 모임에 참여하는 친구들을 다익스트라 메소드의 인자값에 넣어주고, 노드의 수만큼 배열을 생성해서 다 더해주었다. 그 중에서 가장 작은 값을 찾되, 작은 값이 여러 개일 경우 숫자가 작은 노드를 출력했다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class BAEK13424 { static class Node implements ..
2023년 6월 20일 https://www.acmicpc.net/problem/4386 시간 : ❤❤❤❤❤ 만족도 : ❤❤❤❤❤ 위상 정렬과 최소 스패닝 트리를 구현해서 해결할 수 있는 문제이다. APS 심화 과정 때 solved 점수 올리려고 주구장창 풀었었던 유형이었는데 가물가물해질 것 같아서 한 문제 풀어보았다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; public class BAEK4386 { static..
2023년 6월 20일 https://www.acmicpc.net/problem/2251 시간 : ❤❤❤❤❤ 만족도 : ❤❤🤍🤍🤍 코드 import java.util.*; class State { int[] x; public State(int[] x) { this.x = x; } } public class BAEK2251 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] limit = new int[3]; for (int i = 0; i < 3; i++) { limit[i] = sc.nextInt(); } boolean[][][] visited = new boolean[201][201][201]; //..
2023년 6월 19일 https://www.acmicpc.net/problem/11559 시간 : ❤❤❤❤❤ 만족도 : ❤❤❤❤❤ 델타 탐색을 통해 같은 색상의 뿌요가 4개 이상일 경우 해당 뿌요들을 제거하는 메소드인 puyo라는 메소드를 생성하고, gravity라는 메소드를 생성해서 puyo 메소드를 통해 제거된 뿌요들을 제외한 나머지 뿌요들을 중력에 의해 밑으로 정렬하였다. puyo 와 gravity 메소드를 계속해서 반복하는데, puyo 메소드 안에 제거할 뿌요가 없으면 더 이상 진행할 수 없는 boolean 변수를 생성하여 반복문을 탈출할 수 있게 하였다. IntelliJ IDE를 처음 사용해서 풀어보았다..! 코드 import java.io.BufferedReader; import java.i..
2023년 6월 16일 https://www.acmicpc.net/problem/16165 시간 : ❤❤❤❤❤ 만족도 : ❤❤❤❤❤ HashMap 을 사용해서 key를 String으로 걸그룹명, value를 String[]으로 걸그룹에 속한 사람들을 할당해주었다. 주어진 걸그룹명으로 속한 인원들을 출력할 때는 .get(key) 메소드를 사용해서 임시의 String[] 에 초기화 해준 후, Arrays.sort() 메소드를 사용해서 사전순으로 정렬한 후 출력해주었다. 주어진 사람 이름으로 그룹명을 출력할 때는 keySet() 메소드를 사용해서 완전탐색으로 해당 key 값의 value 값에 사람 이름이 존재하면 key 값 즉, 그룹명을 출력한 후 바로 break를 통해 종료한 후 다음 for문으로 넘어갔다...
2023년 6월 15일 https://www.acmicpc.net/problem/ 시간 : ❤❤❤🤍🤍 만족도 : ❤❤❤🤍🤍 코드 package algorithm_Java; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Stack; import java.util.StringTokenizer; public class BAEK2493 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br =..