반응형

Problem Solved

    [BOJ][Java] 10989번 - 수 정렬하기 3

    문제 수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다. 10989번 - 수 정렬하기 3 입력된 숫자들을 오름차순 정렬시키는 문제 카운팅정렬 사용하기 문제 설명 Counting Sort란? 중복되는 숫자의 개수를 세어 정렬하는 방식 수의 범위가 커질수록 시간복잡도가 커져 비효율적임 정렬할 배열에서 최댓값을 구함 0부터 최댓값까지 각 숫자가 몇 번 등장하는지 카운팅함 카운팅을 바탕으로 누적카운팅을 함 누적카운팅은 곧 정렬될 배열의 인덱스가 됨. 뒤에서부터 차례대로 인덱스 값을 계산해 정렬하면 완성 참고 - Counting Sort : 계수 정렬 Counting Sort 시뮬레이션 하기 성공 코드 import java.io.BufferedReader; import java.io.Bu..

    [BOJ][Java] 2751번 - 수 정렬하기 2

    문제 시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 병합 정렬, 힙 정렬 등이 있지만, 어려운 알고리즘이므로 지금은 언어에 내장된 정렬 함수를 쓰는 것을 추천드립니다. 2751번 - 수 정렬하기 2 문제 링크 입력된 숫자들을 오름차순 정렬시키는 문제(단, 시간복잡도가 O(nlogn)여야 함) 문제 설명 2750번 - 수 정렬하기 문제와 같은 문제지만 시간복잡도 제한이 늘었다. 2750번 문제를 풀 때 방식인 bubble sort나 Arrays.sort를 사용한다면 시간 초과가 뜨게 될 수 있다. **기본적으로 시간복잡도를 줄여야 하는 문제에서는 Scanner를 이용한 입출력보다는 Buffer를 이용한 입출력을 쓰는 것이 좋다. 시간복잡도 관련 참고글 - 각 언어별 inpu..

    [BOJ][Java] 2750번 - 수 정렬하기

    문제 시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다. 2750번 - 수 정렬하기 문제 링크 입력된 숫자들을 오름차순 정렬시키는 문제 문제 설명 Arrays나 Collections의 sort 기능을 통한 정렬 가능 Bubble Sort 구현을 통한 정렬 가능 Bubble Sort란? 서로 인접한 두 수를 비교하며 정렬해 나가는 방법 참고 - [알고리즘] 버블 정렬(bubble sort)이란 성공 코드 import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(..

    [Python] exe 파일 만드는 방법

    1. 터미널에 pip install pyinstaller 입력 2. 파일 경로로 이동해서 pyinstaller 파일명.py 입력 하면 끝임...ㅋㅋㅋㅋ 도대체...왜..그렇게 구글링을 했는가.. 처음에 하나의 exe파일로 압축되고 다른창이 안뜨게 하는 옵션을 집어넣었는데 계속 failed execute 어쩌고 에러가 떴는데 걍 기본 명령어 쳐주니 잘 돌아감 ㅋㅋㅋㅋㅋ 그리고 뭔지 모르겠는데 폴더에서 그냥 파이썬 파일 클릭해도 exe파일이 뜸(??!!) 그리고 콘솔창 함수 끝나도 안닫히게 하는방법 import os os.system('Pause') 써주면 된다

    [BOJ][Java] 2751번 - 수 정렬하기 2

    [BOJ][Java] 2751번 - 수 정렬하기 2

    문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 문제 풀이 스캐너를 사용하니 시간초과가 떠서 버퍼를 사용했다. 더 빠르게 정렬하는 방법도 있지만 일단 이거로.. 성공 코드 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 import java.io.BufferedReader; import java.io.Buffered..