BOJ
-
[BOJ]백준 21776번: 가희와 읽기 쓰기 놀이(Python)Problem Solving/BOJ(백준) 2021. 6. 13. 01:17
https://www.acmicpc.net/problem/21776 21776번: 가희와 읽기 쓰기 놀이 1번째 줄에 N, C가 공백으로 구분되어 주어집니다. 2번째 줄 부터 N+1번째 줄까지 1번 사람부터 N번 사람까지 낸 카드의 갯수와 카드를 낸 순서가 주어집니다. 예를 들어 3번째 줄에 3 2 4 5 가 있다면 www.acmicpc.net 요즘은 순열 어렵게 구하기가 유행인가.....??^^ 이 문제 또한 순열을 이용한 문자열 문제이다 요즘은 시뮬레이션 없는 순열은 파이썬으로 하는게 편해서 ... 이 문제 또한 파이썬 각각의 사람마다 수행할 카드들의 순서가 정해져 있고, 해당 카드에는 여러 연산이 쓰여있을 수 있다 또한 본인의 카드 순서가 섞이지 않는 선에서 다른 사람과 교차 시행이 가능하다 A가 ..
-
[BOJ]백준 21772번: 가희의 고구마 먹방(C++)/BackTrackingProblem Solving/BOJ(백준) 2021. 6. 8. 20:41
https://www.acmicpc.net/problem/21772 21772번: 가희의 고구마 먹방 첫 번째 줄에 맵의 세로 크기 R, 가로 크기 C, 가희가 이동하는 시간 T가 주어집니다. 두 번째 줄부터 R+1번째 줄까지 길이가 C인 문자열이 주어집니다. 주어지는 문자열에 있는 문자는 가희를 www.acmicpc.net 문제 특성 상 보자마자 어?BFS 할 수 있지만 BFS도 DFS도 아닌 백트래킹 문제 ~~~ 왜냐면 이미 지났던 좌표를 다시 가야할 수도 있기 때문이다 그래서 인접한 좌표를 방문할 수 있는 재귀함수를 만들어준 뒤 최대 고구마를 얻을 수 있는 선택 + 현재 좌표에서 얻을 수 있는 고구마를 반환해주엇다 #include #include #include using namespace std;..
-
[BOJ]백준 21738번: 얼음깨기 펭귄(C++)/BFSProblem Solving/BOJ(백준) 2021. 6. 7. 22:54
https://www.acmicpc.net/problem/21738 21738번: 얼음깨기 펭귄 첫째 줄에 얼음 블록의 개수 $N$($ 3 \leq N \leq 328\,000$)과 지지대의 역할을 하게 되는 얼음의 개수 $S$($ 2 \leq S \leq N-1$), 펭귄이 위치한 얼음 블록의 번호 $P$($ S \lt P \leq N$)가 주어진다. 지지대의 역 www.acmicpc.net 이것도 오랜만에 풀어본 BFS 문제 최근에 풀어볼 문제를 고를 때 백준 사이트에서 지원하는 대회의 문제들을 자주 보고 있다 대학 대회/유저 개최 대회 같은 경우에 최근에는 검수가 철저히 된 완성도 있는 문제들이 많아서 코테 대비하기에도 좋은 것 같당 ㅎ.ㅎ 이렇게 생긴 익숙한 그림에서 "최대 몇 개를 깰 수 있지?..
-
[BOJ]백준 17245번: 서버실(C++)/Binary SearchProblem Solving/BOJ(백준) 2021. 6. 7. 22:29
https://www.acmicpc.net/problem/17245 17245번: 서버실 서버실에는 모두 85대의 컴퓨터가 있고, 3분이 지나면 전체의 58%인 50대의 컴퓨터가 정상 작동된다. www.acmicpc.net 문제의 자료형 범위를 잘 확인하자 ^^ 오랜만에 다시 백준 start #include #include #define ull unsigned long long using namespace std; int n; int map[1001][1001]; int main() { ull left = 0, right = 0, sum = 0; scanf("%d", &n); for (int i = 0; i < n; i++)for (int j = 0; j < n; j++) { scanf("%d", &ma..
-
[BOJ]백준 1719번: 택배(C++)/FloydWarshallProblem Solving/BOJ(백준) 2021. 5. 17. 01:25
https://www.acmicpc.net/problem/1719 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 이모티콘이 생겼다 택배 문제는 모든 정점에서 모든 정점으로의 최단 거리 및 최초 경유지를 구하는 문제이다 다익스트라와 플로이드와샬 두가지 방법 아무거나 사용해서 해결할 수 있다 map[i][j] = k -> i번 집하장에서 j번 집하장으로 최단 경로를 통해 가기 위해서는 제일 먼저 k번 집하장으로 이동해야 한다 라고 할 때, distance가 갱신되는 시점에 해당 값을 update해주면 된다 #includ..
-
[BOJ]백준 1194번: 달이 차오른다, 가자/Bitmask, BFSProblem Solving/BOJ(백준) 2021. 5. 12. 00:11
www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 비트마스킹의 정석같은 문제 BFS로 출구를 탐색해야 하지만 최대 6개의 문과 열쇠가 있기 때문에 열쇠의 소지 정보를 비트로 표현해서 탐색 정보로 활용해야 한다 #include #include #include #include using namespace std; typedef struct { int x, y; }point; int n, m, dx[] = { 1,0,-1,0 }, dy..
-
[BOJ]백준 1445번: 일요일 아침의 데이트(C++)/DijkstraProblem Solving/BOJ(백준) 2021. 5. 9. 00:10
www.acmicpc.net/problem/1445 1445번: 일요일 아침의 데이트 첫째 줄에 숲의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 3보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 숲의 지도가 주어진다. 숲의 지도는 S, F, g, . 만으로 이루어져 있 www.acmicpc.net 오늘부터 제일 싫어하는 위인 1위: 다익스트라 일요일 아침의 데이트 문제는 좌표를 빈칸 / 쓰레기 칸 / 쓰레기 근처 칸으로 분류해서 최대한 쓰레기 근처를 피해서 목표 지점까지 도달해야 하는 문제이다 처음에 보았을 때는 좌표에 가중치를 두면 되겠다 -> 그러면 쓰레기 칸은 2 & 쓰레기 근처 칸은 1 정도로 놓으면 되겠지?라고 생각했는데 틀렸다 극단적으로 생각하면 형택이는 쓰레기 근..
-
[BOJ]백준 2470번: 두 용액(Python)/Two PointerProblem Solving/BOJ(백준) 2021. 5. 6. 01:33
www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 카카오 기출에 슬라이딩 윈도우를 이용한 문제가 종종 등장하길래 풀어본 투포인터 기초 문제 left, right 두 개의 포인터를 배열의 양 끝에 위치하도록 한 뒤 (left 포인터를 한 칸 이동한 것 vs right 포인터를 한 칸 이동한 것) 중 절댓값이 더 작은 쪽으로 이동하게끔 구현했다 n=int(input()) w=sorted(map(int,input().split())..