일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- 누적 합
- 알고리즘
- 그리디 알고리즘
- 트리
- Team Fortress 2
- 구현
- ue5
- 유니온 파인드
- 다익스트라
- XR Interaction Toolkit
- 시뮬레이션
- Unreal Engine 5
- 투 포인터
- VR
- 유니티
- 수학
- 브루트포스
- 스택
- DFS
- BFS
- 재귀
- 백준
- c++
- 문자열
- 자료구조
- 우선순위 큐
- 다이나믹 프로그래밍
- 정렬
- 백트래킹
- Today
- Total
목록구현 (132)
1일1알

들어간 차들은 벡터를 이용해 순서대로 문자열을 저장해서 들어간 순서로 차의 번호를 접근할 수 있게 만들었고, 나온 차들은 unordered_map 를 이용해 차의 번호로 나온순서를 접근할 수 있게 만들었다. 들어간 차들을 검사하면서, 자신보다 먼저 들어온 차들 중 하나라도 자기보다 늦게 나왔다면 추월을 한 것이다. 들어간 차들을 순서대로 검사하면서 그 차의 번호를 이용하여 나온 차들의 순서를 접근하여 비교하면 문제를 해결할 수 있다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long lo..

입력받은 순서대로 조건에 맞게 학생들의 자리를 정해줬을 때 학생의 만족도의 총합을 출력하는 문제이다. 코드는 그냥 문제에 나온 조건을 그대로 구현하였다. 실버 1 난이도의 문제인데 푸는데 한시간이 넘게 걸렸다. 구현 문제 푸는 연습을 많이 해야할 것 같다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int PosR[4] = { ..

bfs 탐색을 통하여 해결할 수 있는 문제이다. bfs문제 중에서는 어려운 편에 속하는 것 같다. k개의 큐를 만들고, 각각의 큐를 낮은 숫자부터 한 칸씩만 탐색하여 문제를 해결하였다. 좌표와 카운트를 담는 k개의 큐를 벡터에 넣어서 사용하였다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int PosRow[4] = { -1,0..

아직 다리 위에 올라가지 않은 트럭을 저장하는 큐와 다리 위에 올라간 트럭을 저장하는 큐 이렇게 큐를 두 개 만들어서 while문 안에서 시간을 1씩 증가시키면서 1초마다 할 수 있는 가장 효율적인 행동을 찾아가면서 문제를 해결하였다. 다리 위에 올라간 트럭을 저장하는 큐는 pair 형식으로, 트럭의 무게와 다리 위에 올라간 시간을 저장하였다. 그리고 트럭이 모두 도착하면 while문을 종료하였다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; queue ready; ..

입력받은 문자열이 팰린드롬 이면 0, 문자 하나를 제거해서 팰린드롬이면 1, 둘 다 아니면 2를 출력하는 문제이다. while문에서 문자열의 시작과 끝을 거리를 좁혀가면서 비교하면서 시작 지점이 끝 지점보다 커졌을 때까지 계속 같으면 팰린드롬이고, 만약 다르다면 시작 지점만 하나 늘리거나 끝 지점만 하나 줄여서 다시 비교를 한다. 여기서 하나 이상이 팰린드롬이라면 유사 팰린드롬이고, 둘 다 팰린드롬이 아니라면 그냥 일반 문자열이다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long lon..

경비원의 위치가 주어지고, 상점들의 위치가 주어졌을 때, 경비원의 위치에서 상점의 위치까지의 최솟값들을 구해서 더하는 문제이다. 내가 해결한 방법은 구조체를 이용하여 입력받은 상점들의 위치를 저장하고 만약 위치가 1이나 2 (북쪽, 남쪽) 이면 왼쪽 꼭짓점까지의 거리와 오른쪽 꼭짓점까지의 거리를 저장하고, 위치가 3이나 4(서쪽, 동쪽) 이면 위쪽 꼭짓점까지의 거리와 아래쪽 꼭짓점까지의 거리를 저장하였다. 그리고 상점의 위치정보를 저장한 구조체를 벡터에 담고 벡터를 하나씩 순환하면서 각각의 상황마다 경비원과 상점의 거리의 최솟값을 구해서 더해주면서 문제를 해결하였다. #include #include #include #include #include #include #include #include #incl..