✏️ 문제 링크https://www.acmicpc.net/problem/7662 ✏️ 문제 설명✏️ 로직이중 우선순위 큐라고 문제가 나와 있어서 priority_queue를 사용하려고 했지만 문제점 봉착우선순위 큐에서는 마지막 값을 drop할 수가 없음그렇다면 dequeue는?양끝에서 값을 삽입하고 삭제가 가능하지만 자동정렬을 제공하지 않음 ⇒ 값을 넣을 때마다 정렬을 해야 함Map을 사용하자Map은 key값을 기준으로 오름차순 정렬mapmyMap 생성값이 중복되어서 들어온다면 map에서 값을 기준으로 find를 해서 존재한다면 개수를 ++해주기, 없다면 그 냥 insert 해버리기Multiset도 가능하다값을 중복으로 삽입 가능자동으로 오름차순 정렬I면 정수 n을 큐에 삽입D 1은 최댓값을 삭제(한 ..
✏️ 문제 링크https://www.acmicpc.net/problem/9471 ✏️ 문제 설명✏️ 로직(처음)피사노 주기 찾아보기arr[i] = (arr[i-1] + arr[i-2]) % marr[i-1]과 arr[i-2]가 1일 때의 반복횟수를 리턴해준다배열로 하니 메모리도 많이 사용하고 문제에서 요구하는 사항을 맞추지 못할 것 같아서 단순 반복문 이용✏️ 코드#includeusing namespace std;long long arr[1000001];long long int fun(long long int m) { if (m==2) return 3; if (m==3) return 8; for (long long i = 3; i 3) { r..
✏️ 문제 링크https://www.acmicpc.net/problem/2749 ✏️ 문제 설명 ✏️ 로직엉첨 머리를 싸맸는데 생각보다 간단했다. ⇒ 피사노 주기라는 걸 알게 됨피사노 주기m이 10의 n승일 때 피사노 주기는 15 * 10^(n-1)m이 10의 6승이므로 피사노 주기는 15 * 10^(5) = 1500000즉 피보나치 수열을 1500000번째까지만 구해서 배열에 저장 후 arr[n%1000000]을 출력✏️ 코드#includeusing namespace std;#define SIZE 1500000#define MOD 1000000int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); unsigned long long..
✏️ 문제 링크https://www.acmicpc.net/problem/2579 ✏️ 문제 설명 ✏️ 문제 풀이가장 먼저 dp배열을 만들어줬는데 dp[i]는 i번째 계단을 밟을 때 얻을 수 있는 최대의 점수로 지정하였습니다. 그리고 나서 dp[1], dp[2], dp[3]값을 각각 지정해 주었습니다. dp[1] = stair[1]이고 dp[2] = stair[1] + stair[2]이고 dp[3]의 경우를 잘 생각해주어야 합니다. 왜냐면 3번째 계단은 1번째 계단 + 3번째 계단 이거나 2번째 계단 + 3번째 계단인 경우 중 하나이기 때문에 다짜고짜 반복문을 돌리게 되면 dp[3]에 다른 값이 지정되지 않을 수도 있습니다. 그런다음 반복문을 돌리면서 dp[i]의 값을 갱신해 주었습니다.dp[i] = ..
- Total
- Today
- Yesterday
- js
- 유니온 파인드
- 세그먼트 트리
- 자료구조
- 에라토스테네스의 체
- 알고리즘
- DP
- c++ string
- 스택
- 카운팅 정렬
- html
- 투 포인터
- 백준
- DFS
- java
- 자바스크립트
- BFS
- 스프링 부트 crud 게시판 구현
- C++ Stack
- HTML5
- 백준 풀이
- C++
- 알고리즘 공부
- CSS
- 이분 매칭
- 우선순위 큐
- Do it!
- 자바
- 유클리드 호제법
- 반복문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |