본문 바로가기

Preparing Coding Test/Baekjoon49

[Java/백준/정렬] 2108 - 통계학 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 코드 (틀렸습니다) 예제 테스트케이스는 통과한다. (아마 산술 평균에서 틀린거 같다. 이런 방법이 아니라 반올림을 사용했어야 했다) 최빈값은 -4000~4000 까지 담을 수 있는 int 형 배열을 선언한 뒤 숫자+4000 인덱스에 빈도수를 더하도록 했다. 아래 코드의 arr 배열과 처음 for문을 참고하면 된다. import java.io.BufferedReader; import java.io.IOException; impo.. 2020. 8. 24.
[Java/백준/정렬] 2750 - 수 정렬하기 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net O(n^2)으로 풀어도 된다고 하니 맘 편하게 선택 정렬과 버블 정렬을 써볼까 한다. 코드 1 버블 정렬 (시간: 104 ms) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; .. 2020. 8. 20.
[Java/백준/정렬] 10989 - 수 정렬하기 3 (using Counting Sort) 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamRe.. 2020. 8. 20.
[Java/백준/정렬] 2751 - 수 정렬하기 2 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 시행착오 1 시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있다길래, 병합정렬로 풀려고 했는데 시간초과가 생겼다. 아래 코드와 비슷한거 같은데 왜 시간이 더 걸리는 걸까ㅠ import java.util.Scanner; public class Main { private static void mergeSort(int[] arr) { int[] tmp = new int[ar.. 2020. 8. 20.