목록전체 글 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr #include #include #include #include using namespace std; struct { bool operator()(string &first, string &second){ return first.size() < second.size(); } } cmp; bool solution(vector phone_book) { bool a..
https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net import heapq q=[] V, E=map(int, input().split()) parents=[0] cnt=0 ans=0 def find(a): if parents[a]==a: return a parents[a]=find(parents[a]) return parents[a] def union(a, b): pa=find(a) pb=find(b)..
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net #include #include #include #include #include using namespace std; int N; int populations[11]; vector adj(11); int ans = INT_MAX; bool visit[11]; vector A; vector B; int calc(vector& v){ int sum=0; for (int i=0; i x; adj[i].push_back(x)..
https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net #include #include #include #include #include #include using namespace std; int N; string s; vector operands; vector operators; bool visit[19]; long long ans = (long long) -1 * pow(2, 31); long long calc() { long lo..
https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net #include #include #include using namespace std; struct Trees { vector list; }; int N, M, K; int A[11][11]; int food[11][11]; struct Trees graph[11][11]; int dx[8] = { -1,-1,-1,0,0,1,1,1 }; int dy[8] = { -1,0,1,-1,1..
https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net #include #include #include #include #include using namespace std; int arr[10]; bool visit[10]; int answer = -1; vector v; int N; int calc() { int sum = 0; for (int i = 0; i > N; for (int i = 0; i > arr[i]; } dfs(0)..
https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include using namespace std; int board[16]; int answer = 0; bool promising(int col, int row) { //board[col]=row for (int i = 1; i N; backtracking(1, 0, N); cout
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net #include #include #include #define MAX 987654321 using namespace std; int N, M, H, a, b; int ladder[32][12]; int ans = MAX; bool isPossible() { for (int line = 1; line M >> H; for (int i = 0; i > a >> b; l..
https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr #include #include #include #include using namespace std; vector v(500); bool cmp(vector &v1, vector &v2){ return v1.size()
https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr #include #include #include #include #include #include using namespace std; map m; vector num; vector op; vector v={1,2,3}; void splits(string s){ string const delims{"-+*"}; size_t beg, pos=0; while ((b..