Problem Solving
-
[BOJ]백준 1937번: 욕심쟁이 판다/DPProblem Solving/BOJ(백준) 2020. 12. 24. 01:53
www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net 이차원 배열을 이용하는 DP문제 욕심쟁ㅇㅣ 판다🐼 1. 문제 정의 이차원 배열에서 특정 칸에서 연결된 상하좌우의 칸이 인접하다고 할 때, 인접한 칸이 현재 칸보다 숫자가 큰 최대 연결 회수 구하기 2. Recursion & Subproblem 4 14 9 12 10 1 11 5 4 7 15 2 13 6 3 16 8 위의 예시에서, 5의 최대 연결 수는 5-11-15로 3번이다. 이 때, 2의 최대 연결..
-
[BOJ]백준 11054번: 가장 긴 바이토닉 수열/DPProblem Solving/BOJ(백준) 2020. 11. 23. 23:52
www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 바이토닉 부분수열은 가장 긴 증가+감소 수열을 섞은 문제이다 맨 앞부터 가장 긴 증가 수열을 구하고, 맨 뒤부터 가장 긴 증가 수열을 구하면 i번째 원소에 대해 (현재 원소를 포함하는 가장 긴 증가 수열의 길이, 현재 원소를 포함하는(맨 뒤부터) 가장 긴 감소 수열의 길이)를 구할 수 있다 for문을 두번 돌아준 뒤 해당 값들의 합이 가장 큰 쌍을 찾아주면 되는 문제 #include int n,dp[3][1001],ans; int..
-
[BOJ]백준 1922번: 네트워크 연결/MSTProblem Solving/BOJ(백준) 2020. 11. 15. 00:28
www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 컴퓨터를 연결하는 네트워크(가중치 무방향 그래프)가 주어졌을 때, 해당 네트워크의 MST를 구하는 문제이다 MST는 프림 알고리즘으로 구할 수 잇다 #include #include #include #include #define INF 987654321 using namespace std; priority_queue pq; vector edge; int v, e, cost[10005], pre[10005], ans; bool visit[10005]; void prim(int u) { visit[u] =..
-
Programmers [Summer/Winter Coding(~2018)]: 스킬트리(Python)Problem Solving/Programmers 2020. 11. 15. 00:08
programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 스킬과 스킬트리가 아래와 같다면, 스킬트리에 있는 element가 스킬의 순서대로 있는지 count 하는 문제 "CBD" ["BACDE", "CBADF", "AECB", "BDA"] def solution(skill, skill_trees): answer = 0 for s in skill_trees: idx=0 k=1 print(s) for i in range(len(s)): if idxidx: k=0 if k==1: answer+=1 return answer
-
[BOJ]백준 1976번: 여행 가자/Union FindProblem Solving/BOJ(백준) 2020. 11. 4. 21:15
www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 유니온 파인드(Disjoint Set)을 활용해서 정점간의 연결을 확인하는 문제이당 도시의 연결 정보가 주어질 때 마다 Union 연산을 한 뒤, 여행 계획에 속한 정점들이 같은 Parent에 속해있는지 확인하면 된다 #include #include using namespace std; struct disjointSet { vector parent, rank; disjointSet(int n) { rank.re..
-
[BOJ]백준 19235번: 모노미노도미노 풀이 및 코드Problem Solving/BOJ(백준) 2020. 11. 2. 00:09
www.acmicpc.net/problem/19235 19235번: 모노미노도미노 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net (구)삼성 기출문제집에 있던 문제들 중 단연 난이도 1위를 자랑했던 문제이자 인턴 지원할 때 코테에서 만났던 문제........!! 물론 체감 난이도 자체는 엄~~~~~청 높은 편은 아니었기에 2솔을 할 수 있었다 하지만 해당 링크의 문제는 까다로운 조건이 있어서..... 그걸 모두 만족시켜주어야만 솔브 가능하다 이렇게 빨간색 구역 내의 좌표에 블럭을 놓으면, 그걸 아래와 오른쪽으로 모두 내리고 추가 연..
-
[BOJ]백준 20056번: 마법사 상어와 파이어볼Problem Solving/BOJ(백준) 2020. 10. 19. 20:20
www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치� www.acmicpc.net 정말 애증의..... 문제 .......... 일단 풀이부터 올린다 #include #include using namespace std; typedef struct { int r, c; }point; typedef struct { int w, s, d; }cosm; vector map[51][51]; vector tmp[51][51]; int n, m, k,ans, dc..
-
[BOJ]백준 4485번: 녹색 옷 입은 애가 젤다지?/DijkstraProblem Solving/BOJ(백준) 2020. 10. 13. 18:50
www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주�� www.acmicpc.net 처음 다익스트라 알고리즘을 모를 때는 바보같이 BFS로 푸는 줄 알았지만..... 가중치 그래프에서 최단거리를 찾는 문제이기 때문에 다익스트라로 풀어야 한다 !! #include #include #include #define INF 987654321 using namespace std; typedef struct { int x, y; }point; struct compare { bool o..