일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- 코테 대비
- 코딩테스트
- PyQt
- readingbook
- STUDYENGLISH
- 원서읽자
- BFS
- MySQL
- 알고리즘 문제
- English
- 원서
- 코테 준비
- 원서읽기
- 쉬운 알고리즘 문제
- 직무면접
- 코테
- sw expert
- 백준
- the midnight library
- englishbook
- sw expert academy
- 완전탐색
- D4
- nightroutine
- 삼성
- 프로그래머스
- 알고리즘
- dfs
- swexpertacademy
- Today
- Total
목록B형 준비 (2)
시나브로
가장 큰 값과 가장 작은 값은 차이가 K이하여야 되고 그 안에 있는 다이아몬드는 모두 포함되어야 되기 때문에 정렬을 이용하는 것이 좋다. 정렬한 이후, 모든 값에서 모든 경우의 수를 생각해서 가장 max값을 선택하면 된다. 처음에는 처음과 끝에서부터 한칸이 줄여나가면서 풀면 가능할 것이라고 생각했는데 줄여나가는 기준을 찾지 못해서 새로운 방법으로 풀었다. #include # define MAX_SIZE 1010 int sorted[MAX_SIZE]; // 추가적인 공간이 필요 void merge(int list[], int left, int mid, int right) { int i, j, k, l; i = left; j = mid + 1; k = left; /* 분할 정렬된 list의 합병 */ whi..
처음에는 이 문제를 while문을 돌리고 맞은 숫자들(box)과 틀린 숫자들(box1)을 set에 저장해서 각 연산마다 box와 box1에 있는 확인하였다. 이렇게 하니깐 31개의 문제 중에 29개만 맞췄다. 정답 리스트를 보니 프로그램 작동 시작이 너무 짧고 사용하는 저장공간도 너무 작아서 문제를 다시 읽어봤다. 그렇게 먼저 맞는 경우에 대한 모든 경우를 저장하고 비교하는 솔류션을 찾았다. 자료구조 set을 사용한 이유는 set은 이진 트리로 key를 찾는 속도가 다른 구조보다 훨씬 빠르기 때문이다. 또한, 내가 따로 코드 작성을 하지 않고 간단하게 코드 작성이 가능했기 때문이다. #include #include #include int main(void) { int test_case = 0; scanf..