알고리즘 349

[백준, 자바, 11652번] 카드

풀이요즘은 단순 정수를 받고자 할 때 Scanner로 입력값을 받아서nextInt() 이렇게 많이 사용했는데해당 문제에서 이렇게 풀고 제출하다보니 inputmismatch 이런 에러가 나와서 찾아보니nextInt()는 정수로 변환하려다 보니 에러가 발생한다는 것을 확인.그래서 기존 사용했던 BufferedReader로 받아 제출하니 성공알고리즘에 따른 해결 방법은 뭐 크게 없어서 패스 import java.io.*;import java.util.Map;import java.util.HashMap;public class _11652 { public static void main(String[] args) throws IOException { BufferedReader br = new Bu..

알고리즘 2024.10.26

[백준, 자바, 15489번] 파스칼 삼각형

풀이이전 파스칼의 삼각형이랑 크게 차이가 없었기에, 간단하게 해결할 수 있었다.우선 기존 코드에서 탐색 범위만 더 넓히고, 반복문으로 범위에 해당하는 값을 더하여 해결 import java.io.*;import java.util.Arrays;public class _15489 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] NK = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); ..

알고리즘 2024.10.25

[백준, 자바, 16395번] 파스칼의 삼각형

풀이뭔가 간단하게 N행의 길이를 K만큼 길이로 만들어 쉽게 해결할 수도 있었지만불필요한 배열을 만들고 싶지 않아서 다르게 생각하다뭔가 시간이 더 걸려버림...그래서 아래와 같이 해결. import java.io.*;import java.util.Arrays;public class _16395 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] NK = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toA..

알고리즘 2024.10.25

[백준, 자바, 9625번] BABBA

풀이해당 문제를 봤을 때, 어떤 규칙이 있는지 K=7까지 확인해보니까피보나치처럼 K번째 인덱스 문자열은K-1번째 인덱스 +K-2번째 인덱스 값을 합친  문자열이라는 것을 확인하여처음부터 해당 값의 A와B의 개수를 센 2차원 배열을 만들어 저장 후 체크하여 해결 import java.util.Scanner;import java.util.stream.Collectors;import java.util.Arrays;public class _9625 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int K = sc.nextInt(); int[][] li = new int[K+..

알고리즘 2024.10.25

[백준, 자바, 11057번] 오르막 수

풀이처음에는 N이 1000까지 가는데 해당 풀이가 괜찮으려나 싶었는데잘 되어서 문제없이 해결.우선 길이 10인 배열의 각 인덱스 값을 1로 만들어 두고N에 따라 while문을 반복하여 문제 해결하고자 함.그리고 아래 코드에서 코드를 더 가독성 좋게하려면,while 문에 else 를 없애고, 그냥 if 절 안의 반복문만 사용하면 됨구분한 이유는 계속 쓸때없이 조건문 거치는게 별로여서 그냥 구분 함. import java.util.*;public class _11057 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] li ..

알고리즘 2024.10.23

[백준, 자바, 1463번] 1로 만들기

풀이뭔가 시간 제한이 짧아서 걱정했지만,간단히 해결 가능했음.우선 bfs처럼 deque에 추가하기 전에 추가할 값에 해당하는 li의 index를 변경 후 추가이렇게 함으로써 같은 걸, 추가하지 않고 빠르게 해결하고자 했음. import java.util.*;public class _1463 { static Deque> dq = new ArrayDeque(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); boolean[] li = new boolean[N+1]; dq.add(new ArrayList(Arrays.a..

알고리즘 2024.10.23

[백준, 자바, 1780번] 종이의 개수

풀이이번 문제는 크게 설명할 부분은 없지만,그냥 주어지는 종이를 확인 후 서로 다른 것이 확인되면state를 변경 후 탈출하는 조건을 걸어 조금 더 빠르게 해결하고자 했으며만약 state가 false인 경우, 해당 종이를 9분할 하여 다시 확인하며 해결. import java.io.*;import java.util.*;public class _1780 { static int[][] mtx; static int N; static int[] result = {0,0,0}; public static void main(String[] agrs) throws IOException { BufferedReader br = new BufferedReader(new InputStream..

알고리즘 2024.10.23

[백준, 자바, 17478번] 재귀함수가 뭔가요?

풀이흠 뭔가 이런 문제는 풀어야 할지, 말아야 할지 고민이 되는 문제..그냥 아래와 같이 단순하게 풀이. import java.io.*;import java.util.*;public class _17478 { static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static int N; static String act = "____"; static String ment1 = "\"재귀함수가 뭔가요?\""; static String ment2 = "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어."; static String ment3 = "마을..

알고리즘 2024.10.23

[백준, 자바, 2583번] 영역 구하기

풀이해당 문제는 크게 뭐 문제가 있었던 건 없지만입력 값에서 이해를 다르게 해서 뭔가 싶었다.만약 입력값이 0 2 4 4 라면0,2 부터 4,4까지라는 건줄 알았는데2,0 부터 4,4전인 3,3까지라는 말임.그래서 이후 쉽게 해결 import java.io.*;import java.util.*;import java.util.stream.Collectors;public class _2583 { static List result = new ArrayList(); static int M; static int N; static int K; static boolean[][] mtx; static Deque> dq = new ArrayDeque(); static int[] di..

알고리즘 2024.10.22