본문 바로가기

백준(C언어)/22년 11월6

11월 12일(토) - 정렬(2108번) 2022. 11. 12.
11월 11일(금) - 정렬(2108번 *풀이진행중) 정렬 - 2108번 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제점 1. 3)최빈값의 출력 -> 숫자를 입력받으며 동시에 이중 if를 사용하면 시간초과가 발생한다. -> 숫자를 입력받은 이후, 각각의 arr[0]부터 하나씩 비교하는 것도 시간초과가 발생한다. -> 내일도 해결방법이 안보이면 다른풀이를 참고해야할 것 같다. 2. 예제 4번의 경우 "-0 0 1"로 잘못 출력 -> 나는 %.0f 를 통해서 소수점 첫번째자리에서 반올림을 하도록 했지만, 이는 +와 -에 따른 문제는 해결하지 못하는 것 같다. -> 따라서 .. 2022. 11. 11.
11월 10일(목) - 정렬(2108번 *풀이진행중) 정렬 - 2108번 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제점 1. 1)산술평균은 일반적인 평균값으로 출력, 2)중앙값은 qsort 이후에 홀수개의 입력값 중 중앙값을 출력, 4)범위는 qsort 이후에 오름차순 배열된 상태에서 0번째와 n-1번째 값의 차이를 구하면 된다. 하지만 3)최빈값의 출력을 어찌 뽑아내야할지 모르겠다. 2. 예제4번(3개 - 0,0,-1 입력)의 경우에는 "-0 0 1" 로 출력이 잘못나온다. 풀이 (최빈값 출력 못하는 상황) #define _CRT_SECURE_NO_WARNINGS .. 2022. 11. 10.
11월 9일(수) - 정렬(2587번) 정렬 - 2587번 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 문제점 x ////////////////////////////////////////////////////// -> 기본적인 qsort를 활용한 풀이 -> 기존에 활용하던 qsort의 형식이 다시 생각났기 때문에, 다른 풀이를 참고했떤 25305번도 다시 직접 풀이해봐야함 풀이 #define _CRT_SECURE_NO_WARNINGS #pragma warning(disable: 4996) #include #.. 2022. 11. 9.
11월 8일(화) - 정렬(2587번 *풀이진행중) 정렬 - 2587번 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 문제점 1. qsort 정도는 참고자료없이 바로 풀이를 진행했었지만, 잠시 백준풀이를 멈추었더니 거의 다 까먹은 상황 -> 일단 1학기때 자료구조 책과 다른 간단한 풀이들에 대한 복습을 먼저 진행해야하는 상황인 것 같다 풀이 2022. 11. 8.
11월 7일(월) - 정렬(25305번) 정렬 - 25305번 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 문제점 1. 백준 풀이를 오랜만에 다시 시작하려다보니까 예전에 못 풀었던 문제도 잘 안풀렸다 다시 제대로 시작해봐야겠다 풀이 (출처 - https://kiffblog.tistory.com/195) #define _CRT_SECURE_NO_WARNINGS #pragma warning(disable: 4996) #include #include int compare(const void* arg1, const void* arg2) { int a = *(int*)arg1; int b = *(int*)arg2; if (a .. 2022. 11. 7.