본문 바로가기
728x90

전체 글287

[백준] 5670번 : 휴대폰 자판 https://www.acmicpc.net/problem/5670 해당 문제는 여러 단어들을 한 문자씩 체크하면서, 유일하게 해당 단어를 가리키기 위해서는 몇번째 index까지 위치해야하는지 구하는 문제입니다. tire 알고리즘을 활용하여 해결할 수 있습니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedRea.. 2025. 9. 9.
[백준] 10999번 : 구간 합 구하기 2 https://www.acmicpc.net/problem/10999 해당 문제는 느리게 갱신되는 세그먼트 트리(lazy seg)의 기본 문제 중 하나로 update와 sum을 통하여 해결하는 문제입니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main{ static int n; static long[] arr, lazy, tree; public static void main(String[] args) throws IOException{ BufferedReader br = new Buffere.. 2025. 9. 8.
[백준] 11962번 : Counting Haybales https://www.acmicpc.net/problem/11962 해당 문제는 느리게 갱신되는 세그먼트 트리(lazy seg)의 기본 문제 중 하나로, min과 max를 구하는 문제입니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main{ static long[] arr, lazy, tree, mintree; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new .. 2025. 8. 31.
[백준] 12844번 : XOR https://www.acmicpc.net/problem/12844 해당 문제는 레이지 세그(느리게 갱신되는 세그먼트 트리)를 활용하여 풀 수 있는 문제입니다. https://book.acmicpc.net/ds/segment-tree-lazy-propagationlazy-seg에 대해서는 백준에서 제공해주는 알고리즘 book을 보면 이해할 수 있을겁니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main{ static long[] arr, lazy, tree; public static void mai.. 2025. 8. 23.
[백준] 2150번 : Strongly Connected Componen https://www.acmicpc.net/problem/2150해당 문제는 SCC에 대하여 학습하기 좋은 문제로, 각 노드에서 다른 노드를 통해 시작 노드로 돌아오는 케이스들에 대하여 출력하는 문제입니다. https://lms0806.tistory.com/300 [백준] 26146번 : 즉흥 여행 (Easy)https://www.acmicpc.net/problem/26146 해당 문제는 SCC(강한 연결 요소)의 기본 문제로, dfs와 백트래킹에 대해 학습을 진행하신 이후에 진행하시는 걸 추천드립니다. import java.io.BufferedReader;import java.io.IOExcelms0806.tistory.com해당 문제와 비슷하게 해결이 가능합니다. import java.io.Buffe.. 2025. 8. 17.
[백준] 26146번 : 즉흥 여행 (Easy) https://www.acmicpc.net/problem/26146 해당 문제는 SCC(강한 연결 요소)의 기본 문제로, dfs와 백트래킹에 대해 학습을 진행하신 이후에 진행하시는 걸 추천드립니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Stack;import java.util.StringTokenizer;public class Main { static boolean[] visited; static Stack stack = new Stack(); public sta.. 2025. 8. 10.
JDK 25에 추가된 기능 jdk25에서 이전 LTS인 jdk21 이후에 나온 기능 중에 몇가지 기능들에 대해서 설명해보고자 합니다.Super if문상속받는 클래스에 대하여 super()라는 기능을 통하여 상속받은 클래스의 생성자를 받아올 수 있었습니다.그러나 jdk21까지만해도 super 이후에 if문을 통해서 제어문을 지정해줘야 했습니다.그러나 jdk25부터 super()이전에 if문이나 다른 함수호출등을 가능하도록 변경됩니다.class A { A(String s) { … }}class B extends A { B() { int x = compute(); // super 이전에도 실행 가능 super("value"); … }}main문 변경기존에 다음과 같은 main문을 통하여 사용이 되었었습니다.c.. 2025. 8. 3.
Rust에서의 반복문 vs stream for문과 .stream()사이에 시간차이가 존재한다.JAVA에서는 stream문장이 시간이 더 오래걸리는 것으로 확인되었으나, Rust에서도 과연 stream 문장이 더 속도가 느릴까? 라는 궁금증이 생겨 포스팅을 하게 되었습니다.https://doc.rust-lang.org/book/ch13-04-performance.html다음 사이트의 내용을 보면 공식 문서에서도 해당 내용에 대하여 분석을 하고 있는 것으로 보아, 어느정도 차이점이 발생하고 있는 것으로 보입니다.해당 블로그에서 측정하기 위한 코드는 다음과 같습니다.반복문fn main() { let start = Instant::now(); let mut v : Vec = Vec::new(); for i in 0..100000000 { .. 2025. 7. 27.
[백준] 21279번 : 광부 호석 https://www.acmicpc.net/problem/21279해당 문제는 x를 최소 y를 최대 또는 x를 최대 y를 최소로 시작하면서 최대값을 감소시키면서 y값을 증가시키면서 투포인트 형식으로 진행하시면 됩니다.use io::Write;use std::{io, str};pub struct UnsafeScanner { reader: R, buf_str: Vec, buf_iter: str::SplitAsciiWhitespace,}impl UnsafeScanner { pub fn new(reader: R) -> Self { Self { reader, buf_str: vec![], buf_iter: "".split.. 2025. 7. 20.
728x90