알고리즘78 2293번, 2294번 - 동전1,2(규칙성 찾기) 2293 - 동전1주어진 동전들로 값 k를 만들 수 있는 경우의 수를 구하는 문제이다.처음에는 재귀를 이용해 해당 값을 만들 수 있는 모든 경우의 수를 구했다,.하지만 재귀는 너무 비효율적이였고, 값이 커질수록 너무도 많은 시간이 필요했다.더보기import java.util.*;public class 동전1_2293번_시간초과 { static int n, k; static int count = 0; static int[] coins; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); k = sc.nextInt(); .. 2024. 7. 17. 1789번, 3085번 - 브루트포스 실버 저티어 문제로 두문제를 풀었다. 1789 - 수들의 합서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 즉, 자연수 N보다 같거나 커질때까지 1부터 더해가는 문제이다.쉬운 문제이기에 두가지 방법으로 풀어보았다.1. 단순 반복문import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long S = sc.nextLong(); int count = 0; int num = 1; while (S > 0) { S -= .. 2024. 7. 16. 2252번 - 줄세우기(bfs) 줄 세우기라는 골드 2티어 문제를 풀었다.한번에 풀진 않았지만 어려운 문제는 아니였고, bfs를 사용하는 문제이다.다음과 같은 입력값이 주어진다.3 21 32 3첫줄의 첫 숫자(N)는 학생이 몇 명인지, 두번째 숫자(M)는 몇개의 줄에 대한 정보가 주어질 것인지 나타낸다.다음 M 개의 줄동안 입력이 주어지는데, 이는 학생의 위치를 의미한다.즉 위의 보기에서는 1번 학생 뒤에 3번 학생, 2번 학생 뒤에 3번 학생이 온다는 의미이다. 처음에는 너무 복잡하게 생각한 나머지 틀리고 말았다.누구 앞에 누가있는지, 누구 뒤에 누가 있는지 둘다 고려를 해버렸다.결국 틀린 코드를 오래동안 작성했고, 아래는 틀린 보기이다.더보기더보기public class 줄세우기_2252번_오답 { static int N, M;.. 2024. 7. 11. 16916번 - 부분문자열(KMP 알고리즘, 실패함수) 16916번: 부분 문자열 (acmicpc.net)골드 4티어 문제이며, 문자열 P 가 문자열 S의 부분문자열인지 알아보는 문제이다.처음에는 일단 직관대로 문제를 풀어보았으나 시간 초과가 되었다..Java에서 지원하는 contains를 이용한 풀이이다.더보기더보기public class 부분문자열_16916번_시간초과 { static String S, P; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S = br.readLine(); P = br.readLine();.. 2024. 7. 10. 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음