일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코테 대비
- 완전탐색
- 쉬운 알고리즘 문제
- 원서
- 알고리즘
- dfs
- 삼성
- 코테 준비
- englishbook
- 알고리즘 문제
- PyQt
- 직무면접
- nightroutine
- 원서읽기
- swexpertacademy
- English
- sw expert
- 코테
- D4
- 코딩테스트
- 원서읽자
- 프로그래머스
- MySQL
- the midnight library
- BFS
- sw expert academy
- STUDYENGLISH
- 백준
- SQL
- readingbook
- Today
- Total
목록백준 (21)
시나브로
만약 해싱을 공부하고자 하면 이 문제를 필수적으로 풀어보길 바란다. 해싱의 기본개념도 알 수 있고 간단한 구현도 가능하다. 구현의 경우, 문제를 그대로 구현하면 된다. 여기서 31은 영어 최대 숫자인 26보다 큰 소수이기 때문에 설정하였다. (이 숫자는 소수를 사용하는 것이 좋을 것 같다.) 또한, 1234567891도 소수이다. #include int main(void) { freopen("inp.inp", "r", stdin); freopen("out.out", "w", stdout); char buffer = 0; int number = 0; scanf("%d", &number); scanf("%c", &buffer); long long sum = 0; int box = 0; long long li..
힙을 사용하면 금방 성공할 거 같았는데 진짜 많은 오류에 직면한 문제이다. 처음에는 N개의 노드를 가진 최소힙을 만들어서 구현하였지만, 자꾸 틀렸습니다라고 해서 도데체 무슨 오류인지 몰라서 고민하다가 책을 참조해보니 부모노드가 pointer/2가 아니라 (pointer-1)/2라는 것을 알게 되었다. 그래도 계속 틀렷다고 해서 모든 값을 가진 최대힙을 구현해서 n만큼 pop울 해줬다. 아직까지도 왜 처음 시도였던 n개의 최소힙이 성공이 안 됫는지 모른다. 부모 노드는 (pointer-1)/2이다!! #include int list[2250010] = { 0 }; int pp = 0; void swap(int i, int j) { int temp = list[i]; list[i] = list[j]; lis..
쉬운 문제를 자꾸 틀렸습니다가 떠서 놀랬는데 데이터를 다 못 받아서 그랫던 것이다.... 시뮬레이션이라고 하길래 간단하게 시뮬 구현해서 풀었다. #include int main(void) { int n, k; scanf("%d %d", &n, &k); int list[30] = { 0 }; char buffer = 0; for (int i = 0; i 0) { for (int i = 0; i < point-1; i++) { list[i] = list[i + 1] - list[i]; } k--; point--; } for (int i = 0; i < poi..
10까지의 합이면 1+2+3+4+5+6+7+8+9+10 = (1+10)+(2+9)+(3+8)+(4+7)+(5+6)= 11*5 로 표현할 수 있다. 숫자 짝수일 때는 중간의 수를 한번더 더해주면 된다. #include int main(void) { freopen("inp.inp", "r", stdin); freopen("out.out", "w", stdout); int number = 0; scanf("%d", &number); int box = 0; for (int i = 1; i