https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr [프로그래머스][C++] 배달 #include #include #include using namespace std; int dijkstra(int N, int K, vector map) { int ret = 0; priority_queue pq; vector dist(N + 1, 0x7fffffff); pq.push({ 0,1 }); d..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net [백준][C++] 14500 테트로미노 #include #include using namespace std; int N, M; int arr[502][502]; int visit[502][502]; int dy[4] = { -1,1,0,0 }; int dx[4] = { 0,0,-1,1 }; int ans = 0; void dfs(int y, int x, int n, int sum) { if (n ..
https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr [프로그래머스][C++] 괄호 회전하기 #include #include #include using namespace std; bool check(string s) { stack st; for (char c : s) { if (c == '}') { if (st.top() == '{') st.pop(); else st.push(c); } else if (c == ']') { if (st.top() == '[') st.pop(); else st.push(c); } else if (c == ')') { if (st.top() == '(') st...
https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr [프로그래머스][C++] 피로도 #include #include using namespace std; int answer = -1; void dfs(int p, int cnt, vector dungeons, vector visit) { answer = max(answer, cnt); for (int i = 0; i < dungeons.size(); i++..
https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net [백준][C++] 1913 달팽이 #include using namespace std; int arr[1000][1000] = {}; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, find; int ay, ax; cin >> N >> find; int s = N / 2; int y = s, x ..
https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr [프로그래머스][C++] 게임 맵 최단거리 #include #include using namespace std; int solution(vector maps) { int dy[4] = { -1,1,0,0 }; int dx[4] = { 0,0,-1,1 }; int n = maps.size(); int m = m..
https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr [프로그래머스][C++] 영어 끝말잇기 #include #include #includ..
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr [프로그래머스][C++] 예상 대진표 승리하면서 새로 배정받는 번호 규칙을 찾으면 된다. 숫자 a와 b의 배정 번호가 1로 같으면 토너먼트 종료. #include using namespace std; int solution(int n, int a, int b) { int answer = 0; while (a != b) { a = (a +..