2024/09/06 3

[백준, 자바, 15649번] 구간 합 구하기 4

풀이해당 문제는 누적 값 문제이어도 단순히 주어진 범위의 값을 더하면 되는 거 아님? 하고 접근했는데 시간초과나서 확인해보니까 최악이면 100억번 연산을 해야해서 마사카... 어쩌지 하고 생각해보니그냥 배열의 값을 저장할 때 이전값에 더한 값을 넣고아래와 같이 e 인덱스에 해당하는 배열 값에 s-1 인덱스 값을 빼주면 단순히 해결할 수 있는 문제였음.또한 출력이 많아질 수 도 있기에 bw로 write와 flush로 출력 import java.io.*;import java.util.*;public class _11659 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..

알고리즘 2024.09.06

[백준, 자바, 1926번] 그림

풀이해당 문제는 bfs 문제로 간단하게 해결했으며확실히 아래 두 방법 중 더 효율적인 건 StringTokenizer 인 걸 느껴서 입력 값이 많으면 많을 수록 이것만 사용할 듯?Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();new StringTokenizer(br.readLine());다른 건 뭐 어렵지 않게 기존 알고있는 개념이라 생략  import java.io.*;import java.util.*;public class _1926 { static int[][] mtx; static boolean[][] visit; static Deque> queue = new ArrayDeque(); ..

알고리즘 2024.09.06

[백준, 자바, 2606번] 바이러스

풀이따로 어려운 부분은 없고 단순하게 bfs로 해결 가능한 문제여기서 다시 기억해둘 것으로 2가지는IntStream.rangeClosed() 에는 map이 아닌 mapToObj인 것Collections로 생성한 배열에 초기 값을 넣어줄 땐 () 안에 Arrays.asList로 추가 가능하다는 것. import java.io.*;import java.util.*;import java.util.stream.*;public class _2606 { static List> nodes; static boolean[] visit; public static void main(String[] args) throws IOException { BufferedReader br = new Buff..

알고리즘 2024.09.06