분류 전체보기
-
프로그래머스 Lv2 리틀 프렌즈 사천성Computer Science/프로그래머스 2023. 10. 10. 13:01
이 문제는 bfs로 풀어야한다 생각은 했다. 1. map을 만들어서 각 케릭터에 대한 좌표 값을 모아둔다. 2. 타일이 모두 빌 때 까지 반복문을 돌리고, 반복문 안에서는 타일에 대해 순회한다. 이 때 타일을 한번 순회 했는데 한번도 케릭터를 제거하지 못하면 실패 처리한다. 3. 순회를 하는 코드는 케릭터의 시작 위치를 가져오고 제일 먼저 4개의 주변 방향을 큐 안에 넣는다. 이 때 "위치, 이동 방향, 꺽은 적이 있는지"를 확인 할 수 있는 데이터를 같이 넣어준다. #include #include #include #include #include #include using namespace std; struct pos { int m; //m 좌표 int n; //n 좌표 int r; //이동 방향 boo..
-
ZoomIn ZoomOut 마우스 민감도 조절Game Programming/언리얼 2023. 10. 9. 20:30
float TurnScaleFactor{}; if (bAiming) { TurnScaleFactor = MouseAimingTurnRate; } else { TurnScaleFactor = MouseHipTurnRate; } 화면 회전 함수에 MouseAimingTurnRate와 MouseHipTurnRate을 분기해서 if (!Rate) BaseTurnRate = 0.f; BaseTurnRate = FMath::FInterpTo( BaseTurnRate, Rate, GetWorld()->GetDeltaSeconds(), 30); AddControllerYawInput(TurnScaleFactor * BaseTurnRate); 위와 같이 회전에 대한 민감도를 조절했다.
-
프로그래머스 카카오캠핑 Lv2Computer Science/프로그래머스 2023. 10. 9. 19:53
나는 이 문제를 2차원 배열을 x좌표에 대해서 오름차순으로 정리했다. 그러면 위와 같은 사각형 꼴로 정렬이 된다. (정확하게는 y축도 정렬을 해주긴 해야한다) 첫번째로 (1, 1)을 선택하고 이후에 있는 (3, 2) 를 선택 후 (2, 2)가 범위 안에 있는지 검사하는 꼴로 문제를 풀면된다. (1, 1)을 선택하고 이후에 있는 (3, 2) 를 선택 이 부분의 구현은 min max 함수를 사용하고 행과 열이 일치하는 좌표가 있는지 검사하면된다. for(int i=0; i
-
프로그래머스 Lv 보행자 천국Computer Science/프로그래머스 2023. 10. 9. 18:38
나는 이 문제를 dfs로 접근했다. 각 칸을 경로로 생각하고 1. 0을 만나면 2방향을 모두 탐색 2. 1을 만나면 탐색 중지 3. 2를 만나면 이전 방향이 오른쪽 진행이면 오른쪽으로 이동 아래로 진행이면 아래로 이동 하도록 코드를 짰다. 하지만 코드를 실행하면 실패가 떴다.. 코드는 아래와 같다. #include #include using namespace std; int MOD = 20170805; bool visit[501][501]; void dijkstra(int x, int y, int m, int n, const vector& city_map, int dir, int* dx, int* dy, int& answer) { if(y == m - 1 && x == n - 1) { ++answer; ..
-
카메라 Zoom In, OutGame Programming/언리얼 2023. 10. 8. 16:55
카메라 Zoom In, Out 효과를 위해 Tick에서 아래와 같은 코드를 짯다. if (bAiming) { CameraCurrentFOV = FMath::FInterpTo( CameraCurrentFOV, CameraZoomedFOV, DeltaTime, ZoomInterpSpeed); GetFollowCamera()->SetFieldOfView(CameraCurrentFOV); } else { CameraCurrentFOV = FMath::FInterpTo( CameraCurrentFOV, CameraDefaultFOV, DeltaTime, ZoomInterpSpeed); GetFollowCamera()->SetFieldOfView(CameraCurrentFOV); } Zoom In, Out일 때에 ..
-
프로그래머스 Lv2 브라이언의 고민Computer Science/프로그래머스 2023. 10. 8. 16:09
첫번째로 나는 (규칙1, 규칙2, 규칙1 + 규칙2)의 조건을 검사하기로 했다. 첫번째 문자가 대문자이면 규칙1 첫번째 문자가 소문자이면 규칙2 규칙 1일 경우 if (isupper(sentence[i])) { word += sentence[i]; first_rule = true; if (i + 1 == sentence.length()) { first_rule = false; words.push_back(word); word = ""; } else if (isupper(sentence[i + 1])) { first_rule = false; words.push_back(word); word = ""; } else if (islower(sentence[i + 1])) { if (checked[sentence..