์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA

[JAVA] ๋ฐฑ์ค€ 10825๋ฒˆ ใ€๊ตญ์˜์ˆ˜ใ€‘

2022. 10. 6. 20:21


์ด์ œ, ์ •๋ ฌ ๋ฌธ์ œ๋ฅผ ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์™„์ „ํžˆ ํ„ฐ๋“ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

 

๊ทธ๋ฆฌ๊ณ , ์ •๋ ฌ ๋ฌธ์ œ๋ฅผ ํ’€๋•Œ๋งˆ๋‹ค StringBuilder๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์˜ ์—„์ฒญ๋‚œ ํšจ๊ณผ๋ฅผ ๋А๋ผ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

์›ฌ๋งŒํ•˜๋ฉด StringBuilder๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค. ใ…Žใ…Ž

 

 

for each๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ println ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ StringBuilder์— ์Œ“์•„๋‘๊ณ  ํ•œ๋ฒˆ์— ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์†๋„๊ฐ€ ๊ฑฐ์˜ 2๋ฐฐ ์ฐจ์ด ๋‚œ๋‹ค...ใ…Žใ…Ž

 

์•„๋ฌดํŠผ

 

์ด ๋ฌธ์ œ์˜ ํ‚คํฌ์ธํŠธ๋Š” 

 

๊ตญ์–ด ์ ์ˆ˜๋Š” ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ, ์˜์–ด ์ ์ˆ˜๋Š” ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ, ์ˆ˜ํ•™ ์ ์ˆ˜๋Š” ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ, ์ด๋ฆ„์€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ

 

์ž„์„ ํŒŒ์•…ํ•˜๊ณ  ์ด์— ๋งž๋Š” return ๊ฐ’์„ ๊ฑด๋„ค์ฃผ๋ฉด ๋œ๋‹ค.

 

์ฐธ๊ณ ๋กœ ์ด๋ฆ„์€ String ์ด๋ฏ€๋กœ, compareTo() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

 

[JAVA] Comparator ์™€ Comparable์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ

๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ Arrays ๋ฅผ import ํ•ด์ค€ ๋’ค, Arrays์˜ sort ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•Œ์•„์„œ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ค€๋‹ค! sort ๋ฉ”์„œ๋“œ๋Š” Comparable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ Arrays ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•˜์—ฌ ๋™

yinq.tistory.com

 

๋ฆฌํ„ด ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด, ์œ„ ๊ฒŒ์‹œ๊ธ€์„ ๋ณด๊ณ  ์˜ˆ์ œ๋ฅผ ๋ช‡๊ฐœ ๋งŒ๋“ค์–ด ๋ณด๋ฉด ๋ฐ”๋กœ ์ต์ˆ™ํ•ด ์งˆ ๊ฒƒ์ด๋‹ค.

 

DP ๋ฅผ ๋๋‚ด๊ณ  ์ •๋ ฌ ๋ฌธ์ œ๋กœ ๋„˜์–ด์™”์„ ๋•Œ, ์–ด๋ ต์ง€ ์•Š์„๊นŒ ๊ฑฑ์ •ํ–ˆ์—ˆ๋Š”๋ฐ, ๋‹คํ–‰ํžˆ ๊ฑฑ์ •ํ–ˆ๋˜ ๊ฒƒ ๋งŒํผ ์–ด๋ ต์ง€ ์•Š๊ณ  ์ˆ ์ˆ  ํ’€๋ ค์„œ ๋‹คํ–‰์ด๋‹ค. ใ…Žใ…Ž

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        //1. ๊ตญ์–ด ์ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ๋กœ
        //2. ๊ตญ์–ด ์ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ์˜์–ด ์ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ
        //3. ๊ตญ์–ด ์ ์ˆ˜์™€ ์˜์–ด ์ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ์ˆ˜ํ•™ ์ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ๋กœ
        //4. ๋ชจ๋“  ์ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ์ด๋ฆ„์ด ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ(๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž ๋ณด๋‹ค ์•ž์—)

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.valueOf(br.readLine());
        StringBuilder sb = new StringBuilder();
        //์ ์ˆ˜ ์ˆœ์„œ ๊ตญ ์˜ ์ˆ˜
        List<Student> gradeList = new ArrayList<>();
        for (int i = 1; i <= N; i++) {
            String[] input = br.readLine().split(" ");
            String name = input[0];
            int kor = Integer.valueOf(input[1]);
            int eng = Integer.valueOf(input[2]);
            int math = Integer.valueOf(input[3]);
            gradeList.add(new Student(name, kor, eng, math));
        }

        Collections.sort(gradeList,(l1,l2)->{
                    if (l1.kor == l2.kor) {
                        if (l1.eng == l2.eng) {
                            if (l1.math == l2.math) {
                                return l1.name.compareTo(l2.name); //String ์ •๋ ฌ
                            }
                            return l2.math - l1.math; //์ˆ˜ํ•™์€ ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ
                        }
                        return l1.eng - l2.eng; //์˜์–ด๋Š” ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ
                    }
                    return l2.kor - l1.kor;//๊ตญ์–ด๋Š” ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ
                }
                );
        for (Student student : gradeList) {
            sb.append(student + "\n");
        }
        System.out.println(sb);



    }
}
class Student{
    String name;
    int kor,eng, math;

    public Student(String name, int kor, int eng, int math) {
        this.name = name;
        this.kor = kor;
        this.eng = eng;
        this.math = math;
    }

    @Override
    public String toString() {
        return name;
    }
}

 

    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JAVA] ๋ฐฑ์ค€ 11652๋ฒˆ ใ€์นด๋“œใ€‘
    • [JAVA] ๋ฐฑ์ค€ 10989๋ฒˆ ใ€์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3ใ€‘
    • [JAVA] ๋ฐฑ์ค€ 10814๋ฒˆ ใ€๋‚˜์ด์ˆœ ์ •๋ ฌใ€‘
    • [JAVA] ๋ฐฑ์ค€ 11651๋ฒˆ ใ€์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ 2ใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

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