분류 전체보기
-
프로그래머스 Lv3 최고의 집합 C++Computer Science/프로그래머스 2023. 10. 20. 11:07
접근법 예제 1번을 보면 (1, 9) 보단 (2, 8)이 크다. 쭉 진행하다 보면 (3, 6) 보단 (4, 4)가 크다. 야근 지수 문제처럼 균등하게 분포 될 때 곱의 최대가 된다는 것을 알 수 있다! 풀이 s / n을 한 값을 정답에 담고, s % n 즉 나머지를 마지막 인덱스부터 추가한다. sort를 사용하는 것보단 위의 방식이 시간 복잡도를 줄여준다. 코드 #include #include using namespace std; vector solution(int n, int s) { if(n > s == 1) return vector(1, -1); int div = s / n; int ex = s % n; vector answer = vector(n, div); int i = answer.size()..
-
백준 1238 파티 C++Computer Science/백준 Boj 2023. 10. 20. 10:45
접근법 최단 거리를 구하는 문제이므로 다익스트라를 사용하면 된다. 풀이 1. 시간 복잡도 : 정점의 개수가 최대 1000개, 간선의 개수가 최대 10000개 이므로 O([V][E]) = 10'000'000이 되어 시간 내에 풀 수있다. 2. 모든 정점이 X로가는 최소시간을 구한다. 3. X에서 모든 정점으로 가는 최소시간을 구한다. #include #include #include #include using namespace std; const int INF = 1e9+7; #define PP pair vector road[1001]; vector dist; int sum[1001]; int N, M, X; void dijkstra(int s) { dist.clear(); dist.resize(1001, ..
-
백준 1202 보석 도둑Computer Science/백준 Boj 2023. 10. 19. 17:17
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 접근법 1. 가장 작은 용량의 가방에 들어 갈 수 있는 보석을 찾기 위해 오름차순 정리를 한다. (보석과 가방 모두)2. 그 중 가장 비싼 보석을 찾기 위해 우선순위 큐를 사용한다.3. 가장 작은 용량의 가방에 들어간 보석은 더 큰 가방에도 들어 갈 수 있으므로 그리디 탐색을 사용한다. 풀이 1. 가방과 보석을 오름차순으로 정리한다.2...
-
백준 1158 요세푸스 문제Computer Science/백준 Boj 2023. 10. 19. 16:20
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 큐를 사용한다. pop()과 push()를 반복함으로써 k - 1 만큼 회전시키고 k번째 정수를 pop() 한다. #include "pch.h" int main() { queue queue; int n = 0, k = 0; cin >> n >> k; for (int i = 0; i < n; ++i) { queue.push(i + 1); } int value = 0; cout 1) { for (int i = 1; i < k; ++i) { value = queue.front(); queue...
-
백준 1018 체스판 다시 칠하기Computer Science/백준 Boj 2023. 10. 19. 16:13
#include "pch.h" char A[50][50]; int N, M; int paint_cnt = 0; char WB[8][8] = { 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W' }; char BW[8][8] = { 'B','W','B','W','B','W','B','W', '..
-
문 소켓 추가Game Programming/언리얼 2023. 10. 19. 12:57
문에 CenterSocket을 추가했다. const UStaticMeshSocket* Socket = LeftDoorComponent->GetSocketByName("CenterSocket"); FTransform SocketTransform; if (Socket) { if (Socket->GetSocketTransform(SocketTransform, LeftDoorComponent)) { CenterDoorComponent->SetRelativeLocation(SocketTransform.GetLocation()); CenterDoorComponent->AttachToComponent(LeftDoorComponent, FAttachmentTransformRules::SnapToTargetNotIncl..
-
문 물리 작용 업데이트Game Programming/언리얼 2023. 10. 19. 12:51
이전 포스팅을 참조하자면 타이머 안에서 문의 위치를 1씩 움직이는 방법으로 구현했다. https://korean-paul.tistory.com/102 Create Door cpp클래스에 Item 클래스를 상속받는 ACDoor 클래스를 선언했다. CDoor.h protected: virtual void BeginPlay() override; virtual void OnSphereOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp korean-paul.tistory.com LeftDoorComponent->SetSimulatePhysics(true); LeftDoorComponen..