일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- BFS
- DP
- 토끼와 경주
- 시뮬레이션
- ARM
- 슈퍼컴퓨터클러스터
- 순서대로방문하기
- 조합
- 이진탐색
- 소프티어
- 나무박멸
- ros
- 마이크로프로세서
- dfs
- DenseDepth
- 루돌프의반란
- ISER
- 왕실의기사대결
- 코드트리
- 수영대회결승전
- Calibration
- ICER
- 포탑부수기
- 백준
- 마법의숲탐색
- 코드트리빵
- 3Dreconstruction
- 싸움땅
- 구현
- 삼성기출
- Today
- Total
목록알고리즘 (44)
from palette import colorful_colors
https://www.codetree.ai/training-field/frequent-problems/problems/rudolph-rebellion/description?page=1&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 언어: C++, 소요시간: 7ms 완전 빡구현 시뮬레이션 문제다. 로직을 항상 먼저 생각하고 구현해야겠다. 항상 먼저 곰곰히 생각해보기!!! 무지성으로 벡터나 소트 때리지 말기 그리고 코드가 더러워서 정리가 필요하다... 겪었던 에러 해결들: 1. santaQ에서 정렬 때리고 제일 처음꺼 뽑을때 [0]..
https://softeer.ai/practice/6248 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 언어: C++, 소요시간: 153 ms 내 혼자 힘으로 못 풀고 친구꺼 참고했다. 이걸 어떻게 생각해내는거지??? ㅠㅠㅠ 문제 핵심 집 -> 회사로 가는 경로, 회사 -> 집 가는 경로에서 공통되는 노드 개수 찾기. 집과 회사는 무조건 그래프를 타고 갈 수 있음이 보장됨. 출발 노드는 재방문이 가능하지만, 도착노드는 재방문이 불가능하다. 문제해결 모든 노드에서 방문할 수 있는 경우의 수를 확인할 수도 있지만, 그러면 시간초과난다. 따라서 dfs를 총 4번 돌리며 확인해서 해결한다. visited1. 출근길: 집에서 어딘가로 집 -> 방문할 수 있는 모든 노드를 visited1에..
https://softeer.ai/practice/6247 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 언어: C++, 시간: 406ms이진탐색을 꼭 써야 시간초과가 안 나는문제! 핵심 풀이 방법:1. 오름차순으로 정렬을 우선 때린다2. 쿼리에서 주어진 mi에 따라 중앙값이 나오는 가짓수를 판단한다:-> 주어진 n개의 수 중 가장 작거나 가장 큰 값이었을때: 절대 중앙값이 될 수 없다, 0-> 중간에 있는 값이었을때: 경우의 수는 mi 보다 작은 숫자 개수 x mi보다 큰 숫자 개수-> mi가 n개의 수 중 아무것도 아닐때: 0 #include #include #include using namespace std;int N, Q;int startNum, endNum;vector ..
https://softeer.ai/practice/6246 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 언어: C++, 시간: 05ms 격자 DFS연습하기 좋은 문제인 것 같다. (BFS로도 풀어도 된다.)맵, visited, 특정 위치의 순서를 알기 편하게 order 맵까지 만든 다음,dfs타면서 다음 순서로 이동할때마다 level+1을 해준다. #define _CRT_SECURE_NO_WARNINGS#include using namespace std;struct Node { int y; int x;};int MAP[5][5];int visited[5][5];int order[5][5];int dy[4] = { -1, 1, 0, 0 };int dx[4] = { 0, ..
많이 해맸다.. 내 이전코드 왜 안됐는지 꼭 체크하기, 2중 for문에서조합 짜기 다시 꼭 연습하기 -> 이전코드대로 하면 사다리가 하나 건너 있을 경우 오류가 난다! 주어진대로 구현 잘 하기 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int N, M, H, target, answer = -1; int MAP[31][11]; void input() { cin >> N >> M >> H; int a, b; for (int i = 0; i > a >> b; MAP[a][b] = 1; MAP[a][b + 1] = 2; } } // 맵에서 사다리 타고 체크하는 타고, 2를 만나면 왼쪽으로 타게 된다..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 언어: C++, 시간: 52ms 2차원 격자에서 조합을 이용한 대표적인 문제. 사실 조합을 안 쓰고 그냥 순열로 벽을 세우는걸 생각해도 된다. 하지만 그러면 굉장히 느려진다. (나의 경우 52ms -> 332ms) DFS를 통해서 벽을 세우고, 벽을 다 세우면 BFS를 이용해서 바이러스 퍼뜨렸다. 꼭 복습하기! #define _CRT_SECURE_NO_WARNINGS #include #include #incl..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 언어: C++, 시간: 12ms 완전탐색으로 재귀 돌면서 모두 체크하기! CCTV별 방향은 따로 2중 벡터 배열로 만들어서 코드 수와 실수를 줄이도록 유도했다. #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; struct Node { int y; int x; }; struct cctv{ int..
만약 등산로를 깎는 경우, 전역 MAP을 썼다면 복구시켜야 하는 백트래킹 문제! 깎았는지 / 안 깎았는지 여부를 재귀함수 매개변수에 추가로 넣어준다 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int T, N, K, maxNumber, answer; int MAP[9][9]; int visited[9][9]; int dy[4] = { -1, 1, 0, 0 }; int dx[4] = { 0, 0, -1, 1 }; struct Node{ int y; int x; }; vector startPoint; void init() { memset(MAP, 0, sizeof(MAP)); m..