Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 코테
- java
- 소금폭탄
- 패스트캠퍼스후기
- 코딩테스트
- 패스트캠퍼스
- 수정렬하기3
- 파이썬
- java11
- 알고리즘
- 자바스크립트
- 패캠
- 스프링부트시작
- 3273
- SQL
- 노션
- sql문법
- 프로그래머스
- intelij
- 10989
- 백준
- springboot
- DockerDesktop
- BOJ
- 배열
- 코딩자격증
- fastcampus
- 코딩교육
- 개발포트폴리오
- 자바
Archives
- Today
- Total
기록용 블로그
[BOJ10989] 수 정렬하기3 본문
내 시간복잡도에 문제가 없는데, 시간 초과가 난다면
- 입출력 시간을 측정해보자.
- Scanner, System.out.println은 상대적으로 느리다.
https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
package 배열;
import java.io.*;
public class BOJ10989 {
//백만단위 이상이면 BufferdReader를 쓰자
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int[] cnt = new int[10001]; //1~10000까지를 인덱스로 쓸 것
for(int i=0;i<N;i++)
cnt[ Integer.parseInt(br.readLine())]++;
for(int i=1;i<=10000;i++)
while(cnt[i] --> 0){ //cnt[i]가 존재할 때까지
bw.write(i + "\n");
}
bw.flush();
}
}'개발 > 알고리즘 공부' 카테고리의 다른 글
| 패스트캠퍼스 핵심유형 20개로 한 번에 끝내는 알고리즘 코딩테스트 with Java 강의 1주차 (0) | 2023.04.20 |
|---|---|
| [BOJ3273] 수 정렬하기 (1) | 2023.04.20 |
| [알고리즘] 시간복잡도 (0) | 2023.04.20 |
| [프로그래머스][LV1] 덧칠하기 (0) | 2023.04.06 |
| [프로그래머스][LV1] 바탕화면 정리 (0) | 2023.04.06 |