본문 바로가기

분류 전체보기

(308)
[백준/C++] 18428번: 감시 피하기 문제 https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 문제 요약 N × N 크기의 칸으로 이루어진 복도에는 선생님, 학생, 장애물이 위치할 수 있다. 몇 명의 학생들이 수업시간에 몰래 복도로 빠져나왔는데, 선생님들의 감시에 들키지 않는 것이 목표이다. 각 선생님들은 자신의 위치에서 상,하,좌,우 4가지 방향으로 감시한다. + 단, 장애물 뒷 편에 숨은 학생들은 볼 수 없다. 복도 정보가 주어졌을 때, 정확히 3개의 장애물을 설치하여 모..
[백준/C++] 16953번: A -> B 문제 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A 1. 2를 곱한다. 2. 1을 수의 가장 오른쪽에 추가한다. 코드 #include #include #define ll long long using namespace std; ll a, b; ll res = 1e9; void dfs(ll x, ll cnt) { // a가 연산을 거쳐서 b가 되었다면 if (x == b) { res = min(res, cnt); // 최소 연산 횟수 갱신 ret..
[백준/C++] 1240번: 노드사이의 거리 문제 https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 첫째 줄에 노드의 개수 $N$과 거리를 알고 싶은 노드 쌍의 개수 $M$이 입력되고 다음 $N-1$개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 $M$개의 노드 쌍 www.acmicpc.net 문제 요약 N개의 노드로 이루어진 트리가 주어졌을 때, M개의 두 노드 쌍을 입력 받고 두 노드 사이의 거리를 출력한다. 코드 #include #include #include #include #define MAX_N 1000 using namespace std; int n, m; int start_node, end_node; bool visited[MAX_N + 1]; v..
[백준/C++] 1932번: 정수 삼각형 문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 문제 요약 크기가 n인 정수 삼각형이 주어졌을 때, 맨 위층부터 시작하여 아래에 있는 수 중 하나를 선택하여 아래층으로 내려온다. + 현재 층에서 선택한 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 현재까지 선택한 수들의 합의 최대값을 출력한다. 코드 #include #include #define MAX_N 500 using namespace std; int n; int dp[MAX_N + 1][MAX_N + 1]; // dp[i][..
[백준/C++] 8989번: 시계 문제 https://www.acmicpc.net/problem/8989 8989번: 시계 기원이의 방에는 시침과 분침으로 이루어진 아날로그 시계가 있다. 기원이는 시침과 분침이 형성하는 각도 중 작은 각도를 측정하는 것이 취미이며, 이 각도는 0보다 크거나 같고 180보다 작거나 www.acmicpc.net 문제 요약 서로 다른 5개의 시간이 hh:mm 형태로 주어졌을 때, 중간값을 갖는 각도가 몇 시인지 출력한다. + 각도는 시침과 분침이 형성하는 각도 중 작은 각도이다. 즉, 주어진 시간들이 이루는 각도를 기준으로 오름차순 정렬했을 때, 세 번째에 위치한 시간을 찾으면 된다. + 동일한 각도를 갖는 시간들이 있으면, 빠른 시간 순서대로 정렬한다. 코드 #include #include #include ..
[프로그래머스/C++] 뒤에 있는 큰 수 찾기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 정수로 이루어진 배열 numbers를 인자로 받아서 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 반환하는 함수 solution을 정의한다. 뒷 큰수: 배열의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담는다. 코드 vector solution(vector numbers) { vector..