윤굥굥
yg323
윤굥굥
전체 방문자
오늘
어제
  • 굥굥 DEV
    • Computer Science
      • 자료구조 및 알고리즘
      • 운영체제
      • 네트워크
      • 데이터베이스
    • Programming Language
      • Java
      • Kotlin
    • Android
      • with Kotlin
    • Algorithm
      • with Kotlin
    • 하나씩 습득하는 중

블로그 메뉴

  • ↓백준 모아보기 ↓
  • 💚 플레티넘 문제 모아보기
  • 💛 골드 문제 모아보기
  • 🤍 실버 문제 모아보기
  • 🤎 브론즈 문제 모아보기

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
윤굥굥

yg323

Algorithm/with Kotlin

[백준][코틀린] 2751 수 정렬하기 2

2022. 1. 28. 11:45

문제 내용

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

예제 입력 예제 출력
5
5
4
3
2
1
1
2
3
4
5

 

문제 풀이

코드 1 ) 첫 풀이로는 받아오는대로 내장함수를 이용하여 소팅해주었다. 

코드 2 ) 하지만, 중복이 없는 숫자라고 했으니 배열을 두고 나올때마다 체킹 해두고, 체킹되어있는 인덱스만 출력하면 시간 복잡도를 줄일 수 있는 방법 또한 있다.

</>̆̈ 코드

import java.io.BufferedReader
import java.io.InputStreamReader

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    print(List(this.readLine().toInt()) {this.readLine().toInt()}.sorted().joinToString("\n"))
}
import java.io.BufferedReader
import java.io.InputStreamReader

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val array = BooleanArray(2000001)

    for (i in 0 until this.readLine().toInt()) array[this.readLine().toInt()+1000000] = true

    val sb = StringBuilder()
    for (i in array.indices) {
        if (array[i]) sb.append((i - 1000000).toString() + "\n")
    }
    println(sb.toString())
}

링크

 

2751번: 수 정렬하기 2

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

저작자표시 비영리 변경금지
    'Algorithm/with Kotlin' 카테고리의 다른 글
    • [백준][코틀린] 2606 바이러스
    • [백준][코틀린] 10814 나이순 정렬
    • [백준][코틀린] 1181 단어 정렬
    • [백준][코틀린] 1260 DFS와 BFS
    윤굥굥
    윤굥굥

    티스토리툴바