https://www.hackerrank.com/challenges/flatland-space-stations/problem?isFullScreen=true Flatland Space Stations | HackerRank Find the maximum distance an astronaut needs to travel to reach the nearest space station. www.hackerrank.com Flatland is a country with a number of cities, some of which have space stations. Cities are numbered consecutively and each has a road of length connecting it to ..

https://www.hackerrank.com/challenges/queens-attack-2/problem?isFullScreen=true Queen's Attack II | HackerRank Queen's Attack II | HackerRank We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies. www.hackerrank.com 퀸이 이동할 수 있는 칸의 개수를 구하는 문제이다. 이런 문제가 나왔을 때 내가 기존에 풀던 방식으로 우선 풀어보았다. 결론부터 말하자면 아래는 ..

해설 한번 풀고싶었던 아방가르드 타일링문제. 이제 딱 보니까 어떤 식으로 풀어야 하는지 감이 온다. 완전 DP문제. 그런데 이 문제가 케이스를 6번째까지 구해야하는데 이게 완전 노가다다.. 케이스를 6번까지 구해야 점화식의 식을 도출할 수 있다고 함.. 이거 완전 개싸이코적인 문제임ㅋㅋㅋㅋㅋㅋㅋㅋ 새롭게 만들수 있는 케이스와 기존에 것을 회전해서 만들 수 있는 케이스를 구분해서 만들어준다. 그런데 식이 너무너무너무 복잡해…!!! 정리한 식은 다음과 같다. F(n) = F(n-1) + F(n-2)*2 + F(n-3)*5 + Sum(n-4)*2 + Sum(n-5)*2 + Sum(n-6)*4 이렇게 되는 이유는 만약 7 이상부터는 7을 만들고자 하면 3*1(직선) 타일이 중간에 들어가서 새로운 모양의 타일을 ..

해설 비트마스킹과 lower_bound을 활용하여 해결해야 하는 문제이다. 비트마스킹이란 경우의 수를 만드는 방식을 말한다. 해당 문제에서는 총 4개의 조건이 주어진다. 1. 개발언어 2. 프론트/백엔드 3. 주니어/시니어 4. 치킨/피자 이렇게 4개의 조건이 주어지므로 각 4개의 조건을 활성화/비활성화 상태로 두면 총 16가지수(2의 4승)이 된다. 예를들면 이런 상황이다. java backend junior pizza 150 이 주어진다면 java - - - / - backend - - / - - junior - / - - - pizza java backend - - / java - junior - / java - - pizza ... / java backend junior pizza 까지 총 16가..

해설 DFS로도 BFS로도 풀 수 있는 문제. 그치만 이런 문제는 재귀로 쉽게 풀 수 있으므로 DFS로 문제를 풀었다. 조건은 2 가지다. 현재 체크하고자 하는 사람이 있는 위치에서 1. 칸막이를 만나면 무조건 성공 2. 칸막이 없이 세번(count가 3이 되었을 때) DFS를 돌 수 있다면 성공 이다. 막 어려운 문제는 아니어서 금방 해결했다. 문제 설명 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다. 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. 대기실은 5개이며, 각 대기실은 5x5 크기입니다.거리두기를 위하여 응시자들 끼리는 맨해튼 거리1가 2 이하로 앉지 말아 주세..

해설 간만에 레벨2 문제를 풀었다. 이해가 어려웠던 문제중 하나. 숫자의 집합에서 숫자들로 집합을 만드는데 (1,2,3,4) 의 숫자 집합이 있다고 하면 무조건 앞에서부터 이어진 집합을 만들어야 한다. 따라서 나올 수 있는 집합은 {1}, {1,2}, {1,2,3}, {1,2,3,4} 가 나온다. 근데 만드는 집합에서 숫자를 섞어서 만들 수 있다고 했으니 세 번째인 {1,2,3}이 {3,2,1} 로 만들어져서 나올 수 있단 소리다. 풀이는 정말정말 간단하다. 무조건 제일 앞에 있는 숫자부터 연속이 되게 해야 하므로 숫자 1개 짜리가 가장 앞에 있는 숫자가 된다! 그 뒤로 2번 집합의 순서를 알려고 하면 1번 집합이 어떤 수를 가지고 있었는지만 알면 된다. 나는 쉽게 하려고 전체 데이터를 가진 map을 만..

해설 배열의 크기가 1 이상 100,000 이하이므로 2중 for문을 사용하여 해결하려하면 안되는 문제다. 2포인터 방식을 사용하여 문제를 해결해야 한다. 2포인터 방식이란 시작과 끝의 위치를 지정하고 해당 구간을 늘이거나 줄여가면서 배열을 탐색하는 방식이다. 신경써야 할 부분 중 하나가 3종류의 보석 A,B,C 가 있을 때 배열의 뒷부분에 더 효율적인 보석 배치가 있을 때의 문제다. A,B,B,C, A,B,C 라는 배열에서 우리가 출력해야할 범위는 5,7 이 된다. 이를 체크하기 위해 최소거리의 길이를 저장하는 변수를 하나 둔 다음, 현재 2포인터 내부의 보석의 종류가 전체 보석의 종류와 같을 때 start와 end 포인터 사이의 거리를 비교하여 최소값을 갱신해 주면 된다. 문제 설명 [본 문제는 정확..

해설 이분탐색으로 해결해야하는 문제다. 자원 * 시간 / 트럭에 싣고 갈 무게 로 이분탐색을 해주면 된다. 나는 최댓값 설정을 LLONG_MAX 로 했는데 자꾸 실패가 떴다.. 최댓값 설정은 자원 : 금과 은의 최대 요구량 -> 10e9 * 2 시간 : 왕복 시간으로 계산 -> 10e5 * 2 트럭에 싣고 갈 무게 = 1 으로 해서 구해주면 된다. 따라서 최대값은 10e5 * 4 * 10e9 으로 설정해주면 된다. 문제 설명 어느 왕국에 하나 이상의 도시들이 있습니다. 왕국의 왕은 새 도시를 짓기로 결정하였습니다. 해당 도시를 짓기 위해서는 도시를 짓는 장소에 금 a kg과 은 b kg이 전달되어야 합니다. 각 도시에는 번호가 매겨져 있는데, i번 도시에는 금 g[i] kg, 은 s[i] kg, 그리고 ..

해설 bfs문제이다. 상하좌우로만의 이동이 아니라 ctrl 을 누른 상태에서의 방향키 상태가 추가되었다. 비슷한 문제를 코딩테스트에서 만난적이 있어서.. 미리 풀어봤으면 얼마나 좋았을까 하고 후회중 ㅠ 프로그래머스에 들어가보면 2번째 예시 케이스는 카드의 짝을 맞출때 특정 순서대로 해야만 가능한 상황이 존재한다. 따라서 순열을 만들어주는 next_permutation 함수도 필요하다. 만들어진 순열에 맞춰 각각 bfs를 실행해주면 된다. 시작 지점 -> 첫 번째 카드 -> 첫 번째 카드와 짝 카드 의 위치로 움직이면 되고 순열의 순서대로 실행해준다. 함수 파라미터로 & 을 받으면 구현을 쉽게 할 수 있다. ctrl 을 눌렀을 때도 현재의 방향으로 모서리를 만날 때 까지 가주면 된다. 문제 설명 게임 개발..

해설 숫자 하나를 기준으로 좌,우 양쪽의 최솟값을 알면 풍선을 최후까지 남길수 있는지 알 수 있다. 혹시라도 기준 값보다 큰 값이 1개만 있다면 마지막에 남는 풍선이 될 수 있다. 따라서 기준 값이 될 수의 동일한 인덱스를 갖는 좌,우 벡터를 만들어주고 그 벡터까지의 최솟값을 갱신해주면 된다. 문제 설명 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 여기서 조건이 있습니다. 인접한 두 풍선 중에서 번호가 더..
- Total
- Today
- Yesterday
- 개인공부
- 탐욕법
- Ue
- 채팅서버
- IMGUI
- level3
- 고득점kit
- 디자인 패턴
- FPS
- UE5
- 데디케이티드
- LV3
- 프로그래머스
- BFS
- sort
- 해시
- 고득점 Kit
- greedy
- LV2
- 누적합
- 정렬
- 스택/큐
- Heap
- 너비우선탐색
- DFS
- C++
- Unreal 5.1
- 완전탐색
- 재귀
- 힙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |