본문 바로가기

전체 글132

1916번 - 다익스트라 알고리즘(Comparable 클래스) 다익스트라 알고리즘을 사용해 가장 비용이 싼 경로를 찾는 문제였다.출발지와 목적지가 주어졌고, 각 경로의 가격이 주어졌다.처음엔 다익스트라를 이용하지 않아 시간초과가 되었고 해당 코드는 아래와 같다.더보기더보기import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class 최소비용구하기_1916번_시간초과 { static int N, M; static List[] listArray; static int[][] fees; static boolean[] visited; static int start, end; static int min = 100000000; public stati.. 2024. 7. 5.
1806번 - 부분합 골드 5티어의 부분합이라는 문제이다.제목과 문제가 같은데 K이상의 부분합을 가지는 가장 짧은 배열의 길이를 구하는 문제이다.나는 입력부터 각 배열의 요소를 그대로 저장하기보다는, 해당 배열의 요소의 합을 누적해서 저장했다.그렇게 저장한 배열의 요소중 K 이상이 되는 곳을 찾아 따로 저장해놓고,K보다 작은 값이 나올때 까지 요소에서 요소를 빼줬다.import java.util.*;public class 부분합_1806번 { static int N, K; static int min = 100000; static int[] sumList; public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2024. 7. 4.
1700번 - 멀티탭스케줄링(나중에 사용되는 요소) 최근 푼 문제중 가장 티어가 높은 문제로 골드 2티어의 문제이다.사용할 제품과 돼지코의 수가 주어지고, 제품의 사용순서가 주어지며, 제품은 중복 사용이 된다.이 때 코드를 가장 적게 뽑는 횟수를 구하는 것이다.처음에는 재귀를 이용했다. 때문에 너무 많이 불필요한 검사를 했고, 시간 초과가 되었다.아래는 해당 코드이다.더보기더보기import java.util.Scanner;public class 멀티탭스케줄링_1700번_시간초과 { static int N, K; static int[] products; static boolean[] stuck; static int min = 100; static int[] consent; public static void main(Strin.. 2024. 7. 4.
1062번 - 백트래킹 이번 문제는 혼자 풀지 못한 문제이다.K종류의 알파뱃만 사용 가능할 시 anta로 시작하고 tica로 끝나는 단어 N 개중 몇 단어를 완성시킬 수 있는지에 대한 문제였다.처음에는 a n t i c가 담긴 hashset에 재귀를 이용해 각 단어의 글자를 추가하여, 몇 단어가 최대인지 맞추려고 했다.하지만 시간초과가 나왔다. 틀린 풀이는 아래와 같다.더보기더보기package wrong;import java.util.*;import java.util.concurrent.atomic.AtomicInteger;public class 가르침_1062번_틀림 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2024. 6. 29.