일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹
- 다이나믹 프로그래밍
- 자료구조
- ue5
- 스택
- Unreal Engine 5
- 브루트포스
- 투 포인터
- 수학
- Team Fortress 2
- 시뮬레이션
- 유니티
- 유니온 파인드
- 정렬
- 트리
- 그리디 알고리즘
- 재귀
- 우선순위 큐
- 다익스트라
- XR Interaction Toolkit
- 알고리즘
- 문자열
- 백준
- BFS
- VR
- c++
- 그래프
- DFS
- 누적 합
- 구현
- Today
- Total
목록스택 (14)
1일1알
스택 자료구조를 이용하여 해결할 수 있는 문제이다. 줄이 6개라고 했으니 스택을 담고있는 벡터를 6개 만들고 각각의 줄을 따로 계산하여 해결하였다. 줄과 프렛을 입력받았을 때 해당 줄에 멜로디가 없거나 입력받은 프렛이 현재 줄의 멜로디보다 높을 경우에는 프렛을 줄에 넣어주고 cnt를 1 증가시켜주었다. 입력받은 프렛이 줄의 멜로디와 같을 경우에는 손가락을 바꿀 필요가 없으므로 아무 행동도 하지 않았다. 입력받은 프렛이 줄의 멜로디보다 작을 경우에는 멜로디가 프렛보다 작거나 같아질 때 까지 손가락을 떼주면서 cnt를 1씩 증가시켜 주었다. 그 후 멜로디가 프렛과 같을 경우에는 아무 행동도 하지 않았고, 멜로디가 프렛보다 작거나 남아있는 멜로디가 없을 경우에는 프렛을 줄에 넣어주고 cnt를 1 증가시켜주었다..
스택 자료구조를 사용하여 해결할 수 있는 문제이다. 문제를 풀고 다른 사람들의 풀이법을 보니 많은 사람들이 스택을 쌓으면서 답을 구해서 문제를 해결하였다. 나의 풀이법은 스택을 전부 쌓은 뒤에 제거해나가면서 문제를 해결하는 방법이다. 스택을 쌓으면서 문제를 해결하는 방법이 훨씬 간단하고 효율적인 방법인 것 같다. 접근을 잘못해서 풀이가 복잡하고 푸는데 오랜 시간이 걸린 것 같다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; struct compare { bool operator()(..