본문 바로가기

반응형

분류 전체보기

(139)
[백준][C++] 7562: 나이트의 이동 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net - 문제 L x L 체스판 위의 한 점에 있는 나이트가 다른 점으로 가기 위해 움직여야하는 최소 움직임을 구하는 문제다. - 해설 visited를 int로 만들어서 숫자로 저장하기 위해서는 pair를 이용해서 하나의 점과 현재 몇번짼지 세야하는데, 이건 이차원 평면이므로 이렇게 하기가 힘들다. 그래서 result라는 배열을 따로 만들어서 여기에 저장하기로 했다. - 풀이 #include #inclu..
[백준][C++] 1697: 숨바꼭질 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net - 문제 N(0 K; q.push(pair(N, 0)); while (!q.empty()) { int now = q.front().first, cnt = q.front().second; q.pop(); if (!visited[now] && (now >= 0 && now < 100001)) { visited[now] = true; if (result[now] == 0) {..
언리얼엔진5 1-8. 로켓런처 공격 퍼지게 하기 1. sphere overlap actors를 통해 해당 sphere 안에 있는 object types를 찾아서 for each loop을 돌려 선택하게 한 다음, take damage 함수를 불러와서 데미지를 각각 입힌다. current weapon actors를 ignore해야만 무기와 부딪혀서 터지는 일이 없다.
[백준][C++] 24480: 알고리즘 수업 - 깊이 우선 탐색 2 https://www.acmicpc.net/problem/24480 24480번: 알고리즘 수업 - 깊이 우선 탐색 2 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net - 문제 무방향 그래프의 간선들과 시작점 R이 주어지고 내림차순으로 방향이 진행될 때, 각 정점의 방문 순서를 출력하는 문제다. - 해설 1. 가장 먼저 주어진 간선들을 정리해야 한다. - 이차원 배열, vector를 이용해서 각 정점별로 이어지는 간선을 유지한다. 2. 각 정점 별로 정렬을 해서 내림차순 혹은 오름차순으로 ..
[백준][C++] 17299: 오등큰수 https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net - 문제 https://stopthebackspace.tistory.com/130 위의 오큰수 문제에서 큰지 작은지 판별하는 걸 숫자가 나온 횟수로 바꾼 문제다. - 해설 오큰수 문제를 푼 방식 그대로 map을 이용해서 카운팅을 해 줬는데, 시간초과가 나왔다. 그래서 그냥 배열을 이용해서 카운팅해봤는데 잘 풀렸다. - 풀이 #include #include // #include using namespace st..
[백준][C++] 17298: 오큰수 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net - 문제 A1, A2, ..., An으로 이루어진 A배열이 있을 때 Ai에 대해서 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 출력하는 문제다. - 해설 (틀린 방법) Ai에서부터 그 이후에 있는 숫자 중에서 자신보다 크면서 가장 근접한 숫자를 출력하면 되는 문제인 줄 알고 풀었다. 백준 기준으로 대략 50%까지는 천천히 되다가 시간초과가 나버린다. 심한 경우에는 O(n^2)이 되기 때문..
[백준][C++] 9935: 문자열 폭탄 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net - 문제 문자열이 S가 있고 폭탄문자열 bomb가 있을 때 S 안에 bomb를 모두 없애는 문제다. - 해설 string 클래스를 stack처럼 사용하면 문제를 해결할 수 있다. S 문자열을 하나씩 확인하다가 폭탄 문자열의 가장 마지막 문자랑 일치하는 문자가 나오면, 폭탄문자열의 길이만큼 돌아가면서 두 문자열을 비교하고, 만약 같으면 pop_back으로 날려버린다. 이후에 계속 이어..
[백준][C++] 2629: 양팔저울 https://www.acmicpc.net/problem/2629 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net - 문제 양팔저울과 n개의 추가 있고, 무게를 측정하고 싶은 m개의 구슬이 있을 때 추를 이용하여 구슬의 무게를 측정할 수 있는지 없는지 구하는 문제다. - 해설 가방문제?와 비슷하게 풀 수 있을 것 같다. 결국 추 하나당 할 수 있는 행동은 3가지가 있다. 1. 추를 좌측 저울에 둔다. 2. 추를 두지 않는다. 3. 추를 우측 저울에 둔다. 위의 세 가지 행동을 모든 추가 한다면 그걸로 문제를 해..

반응형