본문 바로가기
728x90

rust35

[백준] 11920번 : 버블 정렬 https://www.acmicpc.net/problem/11920해당 문제는 n개의 수를 입력받으면서 k번째 수부터 우선순위큐에서 제거하여 출력하는 방식으로 해결할 수 있습니다.Rust에서의 heap은 최대힙이므로 Reverse()를 활용하여 최소힙으로 구성하여 해결하면 됩니다.use io::Write;use std::{io, str};use std::cmp::Reverse;use std::collections::BinaryHeap;pub struct UnsafeScanner { reader: R, buf_str: Vec, buf_iter: str::SplitAsciiWhitespace,}impl UnsafeScanner { pub fn new(reader: R) -> Self { Self.. 2025. 11. 13.
[백준] 2220번 : 힙 정렬 https://www.acmicpc.net/problem/2220이 문제는 그리디하게 swap을 이용하여 해결하면 됩니다.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_ascii_whitespace(), } } pub fn token(&mut self) -> T { loop { if let .. 2025. 11. 9.
[백준] 2180번 : 소방서의 고민 https://www.acmicpc.net/problem/2180다음과 같은 방식으로 정렬조건을 설정하여 정렬하여 해결하면 됩니다.1. 0번째 값이 02. 1번째 값이 03. 비교하고자 하는 1번째 값이 모두 0이면, 0번째 값 비교4. 0번째와 1번째 값 서로 교차하여 곱하고 비교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: ".. 2025. 11. 2.
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.
728x90