๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/BAEKJOON\์ •๋ ฌ

๋ฐฑ์ค€(Baekjoon) 2751๋ฒˆ : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2 (JAVA) ๋ฌธ์ œ ํ’€์ด

2020. 11. 15. 21:25
๋ชฉ์ฐจ
  1.  
  2.  
  3. ๐Ÿš€๋ฌธ์ œ
  4. ๐Ÿ’ฌ ์˜ˆ์ œ ์ž…๋ ฅ           
  5. ๐Ÿ’ฌ ์˜ˆ์ œ ์ถœ๋ ฅ
  6.  
  7.  
  8. ๐ŸŒˆ ๋‚˜์˜ ํ’€์ด
  9. Merge Sort ์‚ฌ์šฉ
  10. Counting Sort ์‚ฌ์šฉ
  11. Collections.sort() ๋ฅผ ์‚ฌ์šฉ
๋ฐ˜์‘ํ˜•

www.acmicpc.net/problem/2751

 

2751๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

 


 

๐Ÿš€๋ฌธ์ œ

 

๐Ÿ’ฌ ์˜ˆ์ œ ์ž…๋ ฅ           

5
5
4
3
2
1             

๐Ÿ’ฌ ์˜ˆ์ œ ์ถœ๋ ฅ

1
2
3
4
5

 

 

๐ŸŒˆ ๋‚˜์˜ ํ’€์ด

๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋‹น์—ฐํžˆ Arrays.sort() ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ์ง€๋งŒ,, ์‹œ๊ฐ„ ์ดˆ๊ณผ.

ํ€ต ์ •๋ ฌ์€ ํ‰๊ท  ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€   O(nlogn)   ์ด์ง€๋งŒ,  ์ตœ์•…์˜ ๊ฒฝ์šฐ O(n2)  ๊นŒ์ง€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

์ผ๋ถ€๋Ÿฌ ํ€ต ์ •๋ ฌ์„ ๋ชป์“ฐ๊ฒŒ ํ•˜๋ ค๊ณ  ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ( ๊ทธ๋Ÿผ ๋‹ค๋ฅธ๊ฑฐ ์“ฐ๋ฉด ๋˜์ง€๐Ÿ™ƒ)

 

Merge Sort ์‚ฌ์šฉ

X

 

Counting Sort ์‚ฌ์šฉ

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {
        int[] arr = new int[2000001];

        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int N = Integer.parseInt(bf.readLine());
        for (int i = 0; i < N; i++) {
            arr[Integer.parseInt(bf.readLine()) + 1000000 ] = 1;
        }

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 1) {
                sb.append(i - 1000000).append('\n');
            }
        }
        System.out.println(sb);
    }
}

๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ 1,000,000 ์ด ์•„๋‹ˆ๊ณ  2,000,000์œผ๋กœ ํ•ด๋†“๋Š” ์ด์œ ๋Š” -1,000,000์„ ์ž…๋ ฅ ๋ฐ›์•˜์„ ๊ฒฝ์šฐ์— arr[0] ๊ฐ’์— ์ฒดํฌ ํ•ด๋†จ๋‹ค๊ฐ€ 

๋‹ค์‹œ ์ถœ๋ ฅํ• ๋•Œ, 0 - 1,000,000๋ฅผ ํ•ด์ฃผ๋ฉด ์ฒ˜์Œ ์ž…๋ ฅ ๋ฐ›์•˜๋˜ -1,000,000๋ฅผ ์ถœ๋ ฅ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‘๋ฐฐ๋กœ ๋ฏธ๋ฆฌ ์ƒ์„ฑ์„ ํ•ด๋†“์•˜๋‹ค!

 

 

 

Collections.sort() ๋ฅผ ์‚ฌ์šฉ

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(bf.readLine());
        ArrayList<Integer> arrayList = new ArrayList<>();

        for (int i = 0; i < N; i++) {
            arrayList.add(Integer.parseInt(bf.readLine()));
        }

        Collections.sort(arrayList);

        for (Integer integer : arrayList) {
            bw.write(integer + "\n");
        }
        bw.flush();
        bw.close();
    }
}

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
  1.  
  2.  
  3. ๐Ÿš€๋ฌธ์ œ
  4. ๐Ÿ’ฌ ์˜ˆ์ œ ์ž…๋ ฅ           
  5. ๐Ÿ’ฌ ์˜ˆ์ œ ์ถœ๋ ฅ
  6.  
  7.  
  8. ๐ŸŒˆ ๋‚˜์˜ ํ’€์ด
  9. Merge Sort ์‚ฌ์šฉ
  10. Counting Sort ์‚ฌ์šฉ
  11. Collections.sort() ๋ฅผ ์‚ฌ์šฉ
iseunghan
iseunghan
๊พธ์ค€ํ•˜๊ฒŒ ์—ด์‹ฌํžˆ..
iseunghan๊พธ์ค€ํ•˜๊ฒŒ ์—ด์‹ฌํžˆ..
iseunghan
iseunghan

๊ณต์ง€์‚ฌํ•ญ

  • ์–ด์ œ๋ณด๋‹ค ๋‚˜์€ ์˜ค๋Š˜์ด ๋˜๊ธฐ ์œ„ํ•ด ๐Ÿ”ฅ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (261)
    • ๐Ÿ’ Spring (14)
      • ๊ฐœ๋… ๋ฐ ์ดํ•ด (2)
      • Spring ํ•ต์‹ฌ ๊ธฐ์ˆ  (24)
      • Spring REST API (8)
      • Spring MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ  (7)
      • Spring Security (23)
      • Spring in Action (1)
    • ๐ŸŒป JAVA (84)
      • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ (20)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ๊ตฌ์กฐ (13)
      • ๋””์ž์ธ ํŒจํ„ด (7)
      • ์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ (43)
      • JUnit (1)
    • ๐Ÿ”– Snippets (3)
      • Javascript (3)
    • โš™๏ธ Devops (22)
      • โ› Git (11)
      • ๐Ÿณ Docker (6)
      • ๐Ÿง Linux (3)
      • ๐ŸŒˆ Jenkins (1)
      • ๐Ÿ“ฌ Kafka (1)
    • ๐Ÿ’ฌ ETC.. (4)
      • ๐Ÿ’ป macOS (2)
    • ๐ŸŒง๏ธ ORM (2)
      • JPA (2)
    • ๐Ÿ Python (2)
    • ๐Ÿ“š Databases (15)
      • ์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ) (3)
      • RealMySQL 8.0 (8)
    • ๐Ÿ”ฅ Computer Science (5)
      • ๐Ÿ“ก ๋„คํŠธ์›Œํฌ (5)
    • ๐Ÿท๏ธ ํ˜‘์—… (1)
    • ๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (38)
      • BAEKJOON\์ˆ˜ํ•™ 1, ์ˆ˜ํ•™ 2 (8)
      • BAEKJOON\์žฌ๊ท€ (5)
      • BAEKJOON\๋ธŒ๋ฃจํŠธ ํฌ์Šค (3)
      • BAEKJOON\์ •๋ ฌ (1)
      • BAEKJOON\๋ฐฑํŠธ๋ž˜ํ‚น (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\์ด๋ถ„ํƒ์ƒ‰ (1)
      • BAEKJOON\๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (9)
      • BAEKJOON\๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
    • โœจ ISEUNGHAN (1)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
iseunghan
๋ฐฑ์ค€(Baekjoon) 2751๋ฒˆ : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2 (JAVA) ๋ฌธ์ œ ํ’€์ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.