본문 바로가기

전체 글78

[RUST] TRPL : Chapter 1 - Rust & Cargo Rust시스템 프로그래밍 언어종속성 관리자 및 빌드 도구인 Cargo사용장점 : 속도와 안정성Cargo종속성을 추가하는 것이 훨 쉬워짐[package] : 패키지를 구성, 파일 정보[dependencies] : 프로젝트의 종속성 나열 가능명령어 - cargo run : 빌드 후 실행소스 코드가 수정이 되지 않으면 컴파일링 문구는 생략명령어 - cargo check : 실행파일 없이 실행 2024. 11. 26.
[개쉬운 풀이] 백준 6087 레이저 통신 (5일차) https://www.acmicpc.net/problem/6087문제 생각1. 처음에는 단순하게 BFS로 풀면 된다고 생각했다.2. 또한 거울의 수는 단순하게 레이저가 꺽인 횟수라고 생각하였다. 3. 따라서 처음 queue에 C에서 나아갈 수 있는 방향 4가지를 넣어서 시작했다.4. 이때 queue에는 (x, y 좌표와 방향, 거울 수)가 담겨있다.5. 다음 현재 방향과 다음 방향을 맞추어 거울의 수를 담아서 BFS를 완성하였다. 1. 그러나, 이 과정에서 방향 때문에 겹치는 x,y좌표가 많아지게 되면서 메모리 초과 문제가 발생하였다.2. 따라서 isVisited를 2차원 배열이 아닌 방향을 추가한 3차원 배열로 만들어서 해결하였다. 결론 : BFS / DFS 문제에서 좌표뿐 만 아니라 다른 변수가 있을.. 2024. 11. 26.
[개쉬운 풀이] 백준 2933 미네랄 (4일차) https://www.acmicpc.net/problem/2933 문제 생각1. 천천히 구현하면 된다.2. 왼쪽, 오른쪽을 구분해서 미네랄을 탐지해야한다.3. 행이 아래부터 0,0이기 때문에 구현할때는 평소 구현할때 Row를 뒤집어서 생각해야한다.4. 미네랄을 파괴시키고 그 주변 4칸을 클러스터 판별하자.5. 클러스터는 1개만 떨어진다.6. 클러스터에 해당하는 정보들을 저장해야한다.7. 클러스터가 떨어질때 ㄷ 자 모양같은 경우 위 클러스터와 아래클러스터가 떨어질 수 있는 범위가 다를 수 있다. //좋은 예시8. 따라서 모든 클러스터 정보에 대해서 떨어지는 경우를 구한 뒤, 최소값을 찾아서 떨어뜨려야한다. 풀이#include #include #include using namespace std;const i.. 2024. 11. 25.
[개쉬운 풀이] 백준 14002 가장 긴 증가하는 부분 수열 4 (3일차) https://www.acmicpc.net/problem/14002 문제 생각1. 기본적인 LIS 문제이다. 이를 dp를 활용하여 해결해야한다.2. 길이만 출력하는 것이 아닌 수열을 출력해야 하므로 vector를 이용하여서 같이 저장 및 업데이트 한다. 풀이#include #include using namespace std;const int MAX = 1001;int N;vector v;int dp[MAX];vector LIS[MAX];vector answer;void input(){ cin >> N; v = vector (N); for(int i = 0; i > v[i]; }}void sol(){ for(int i = 0; i v[j]){ if(d.. 2024. 11. 24.