백준 95

백준 13909 - Java

문제 내 풀이풀이 1: boolean을 사용해서 true => false  / false => true로 변환하는 알고리즘을 생각하여 문제를 풀었으나 Memory Limit Exceeded 오류가 나왔다.   64MB 메모리 제한을 고려할 때, 현재 코드에서 메모리 과잉 사용이 발생할 수 있는 주요 부분은 boolean [] isPrime = new boolean [n + 1]; 배열입니다. 이 배열의 크기는 입력값 n에 따라 결정되며, n이 클 경우(예: 2,100,000,000) 매우 큰 메모리를 필요로 하게 됩니다.메모리 사용량 계산:Java에서 boolean 타입은 배열로 사용될 때 일반적으로 1비트를 사용한다고 알려져 있지만, 실제로는 최소 1바이트(8비트)를 사용합니다. 이는 Java의 메모리..

백준 2024.09.04

백준 1934 - java

문제 내풀이 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); for (int i = 0; i 이렇게 풀었더니 실행 시간 오류가 떳다.  두 수 A와 B가 큰 수인 경우 lcm 값을 일일이 증가시키면서 A와 B로 나누어떨어지는지 확인하는 과정이 매우 오래 걸릴 수 있다. 특히 A와 B가 서로 소수인 경우, 이 과정은 최악의 경우 두 수의 곱까지 반복해야 할 수도 있다.  import java.util.Scanner;public class LCM { p..

백준 2024.09.02

백준 10816 - Java

문제 풀이import java.util.Arrays;import java.util.Scanner;public class NumberCardGame2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // N 입력받기 int N = sc.nextInt(); int[] arr = new int[N]; for (int i = 0; i  이전에 풀었던 것의 업그레이드 버전. 이진 탐색에 대해 잘 이해를 해야 풀 수 있는 문제이다. 위 코드로 했더니 시간제한 오류가 떳다.O(n^2)이라 1초 이내에 불가능 했던 것 같다.  import java.io.Bu..

백준 2024.08.30