본문 바로가기

전체 글78

[2024 AOC] 1일차 CPP https://adventofcode.com/2024 Advent of Code 2024 adventofcode.com 문제 1번 생각단순하게 왼쪽 숫자와 오른쪽 숫자를 정렬 후 거리를 구하는 문제이다.풀이#include #include #include using namespace std;const int MAX = 1000;vector l;vector r;void input(){ int left, right; for(int i = 0; i > left >> right; l.push_back(left); r.push_back(right); }}void sol(){ sort(l.begin(), l.end()); sort(r.begin(), r.end()).. 2024. 12. 1.
[개쉬운 풀이] 백준 1697 숨바꼭질 (9일차) 문제생각처음에는 단순하게 BFS로 갈 수 있는 모두의 경우를 계산하면 된다고 생각했다. 그러던 와중 우선순위 큐와 다익스트라를 활용하여 가장 빠른 시간을 구하는 것이 더 완벽하다고 생각했다.따라서 다익스트라로 구현했지만, 실제 BFS와 비교해보니 단순 BFS로도 해결이 된다. (심지어 더빠름) 풀이#include #include #include using namespace std;typedef pair ii;const int MAX = 100001;int N, K;int isVisited[MAX];void input(){ cin >> N >> K; for(int i = 0; i , greater> pq; pq.push(make_pair(0, N)); isVisited[N] = 0; .. 2024. 11. 30.
[RUST] TRPL : Chapter 10 - Generic Types & Lifetime Chapter 10 - Generic Types & LifetimeGenericGeneric : 개념의 중복을 효과적으로 처리하기 위한 도구T를 활용하여 generic을진행한다.매개변수이름을 선언할 때 를 활용한다fn largest(list: &[T]) -> &T {Trait메서드 시그니처를 그룹화하여 일부 목적을 달성하는 데 필요한 동작 집합을 정의함.인터페이스와 비슷한 기능src/lib.rs에 정의하여 사용한다.사용방법사용하고 싶은 trait 이름을 impl 한다. 이후 for 을 통해 name type을 결정한다.이후 재정의한다.수명Lifetime을 주석으로 명시하여 dangling references 방지한다.' 를 사용하여 수명 매개변수를 정의한다.&i32 // a referenc.. 2024. 11. 29.
[RUST] TRPL : Chapter9 - Error Handling Chapter 9 - Error Handling복구할 수 없는 오류 - panic!패닉이 발생하는 경우코드에 패닉을 유발하는 작업 수행panic! 매크로를 명시적으로 호출함Cargo.toml[profile.release]panic = 'abort'를 추가하여 설정할 수 있다.복구할 수 있는 오류 - ResultResult는 다음과 같은 열거형을 갖는다.enum Result { Ok(T), Err(E),}활용use std::fs::File;fn main() { let greeting_file_result = File::open("hello.txt"); let greeting_file = match greeting_file_result { Ok(file) => file, .. 2024. 11. 29.