전체 글(724)
-
[백준/BOJ] 백준 19238번 : 스타트 택시
www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 너비 우선 탐색 (bfs)를 통해 문제를 해결했다. 코드 #include #include #include #include using namespace std; int n, m, energe; int board[21][21]; pair taxi; pair dest[401]; //각 고객의 목적지 저장 int dxdy[4][2] = { {0,-1},{-1,0},{0,1},{1..
2021.02.19 -
[백준/BOJ] 백준 19591번 : 독특한 계산기
www.acmicpc.net/problem/19591 19591번: 독특한 계산기 숫자, '+', '*', '-', '/'로만 이루어진 길이가 106 이하인 수식이 주어진다. 계산 과정 중의 모든 수는 −263 이상 263 미만이며, 0으로 나누는 경우는 없다. 숫자 앞에 불필요한 0이 있을 수 있다. www.acmicpc.net deque calc_data 을 통해 연산자와 숫자를 저장하며 문제를 해결했다. 코드 #include #include #include #include #include #include #include #include #include using namespace std; string input; deque calc_data; long long Calc(long long num1, ..
2021.02.19 -
[백준/BOJ] 백준 1248번 : 맞춰봐
www.acmicpc.net/problem/1248 1248번: 맞춰봐 규현이는 멍청하다. 왜냐하면, 1~10까지 수 밖에 모르기 때문이다. 어느 날 규현이 옆을 지나가던 태석이가 규현이를 보고 이렇게 외쳤다. "빵빵!!" 규현이는 "아하!" 하면서 세상에는 빵이란 수도 www.acmicpc.net 입력되는 문자열을 s에 직각 삼각형 형태로 저장한 뒤, Solve에서 selected에 수를 넣어가며 index번째 수가 적합한지 확인한다. 고른 index번째 수가 적합한지 확인할 때 직각삼각형 형태의 s배열의 해당 index열을 확인하는데 index행부터 0행까지 확인하며 적합한지 판단한다. 코드 #include #include #include #include using namespace std; int ..
2021.02.19 -
[백준/BOJ] 백준 2463번 : 비용
www.acmicpc.net/problem/2463 2463번: 비용 첫 번째 줄에 정점의 수 N (1> x >> y >> w; adj.push_back(make_pair(w, make_pair(x, y))); total_cost += w; } sort(adj.begin(), adj.end()); reverse(adj.begin(), adj.end()); //간선의 가중치가 큰 순서로 정렬하기 위해 sort한것을 뒤집는다 long long add_cost = total_cost; long long result = 0; for (int i = 0; i < adj.size(); i++) { int u = adj[i].second.first; int v = adj[i].second.second; u = Fin..
2021.02.19 -
[백준/BOJ] 백준 2632번 : 피자판매
www.acmicpc.net/problem/2632 2632번: 피자판매 첫 번째 줄에는 손님이 구매하고자 하는 피자크기를 나타내는 2,000,000 이하의 자연수가 주어진다. 두 번째 줄에는 A, B 피자의 피자조각의 개수를 나타내 는 정수 m, n 이 차례로 주어진다 (3 ≤ m, n www.acmicpc.net A피자 연속 부분의 모든 경우를 구하고, B피자 연속 부분의 모든 경우를 구한 뒤, 정렬을 해서 A피자 연속 부분(partA)을 모두 확인하며 B피자 연속 부분(partB)의 값 중 합이 손님이 구매하고자 하는 피자 크기인 것의 개수를 구하여 문제를 해결한다. 이때 lower_bound와 upper_bound를 통해 문제를 해결했다. 코드 #include #include #include us..
2021.02.18 -
[백준/BOJ] 백준 12757번 : 전설의 JBNU
www.acmicpc.net/problem/12757 12757번: 전설의 JBNU 첫 줄에는 초기 데이터의 개수인 \(N(1 \le N \le 100,000)\) 과 명령 횟수인 \(M(1 \le M \le 100,000)\), 가장 근접한 Key까지의 거리의 제한인 \(K(1 \le K \le 10,000)\)가 주어진다. 입력의 둘째 줄부터 N개의 줄에 www.acmicpc.net map db을 통해 데이터베이스를 표현하고, lower_bound와 upper_bound를 통해 문제를 해결했다. 코드 #include #include #include #include #include using namespace std; int n, m, k; map db; map::iterator it1; map::it..
2021.02.18