๐Ÿค–/์•Œ๊ณ ๋ฆฌ์ฆ˜ ์žฌํ™œ์šด๋™

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๊ฐ€์žฅ ํฐ ์ˆ˜

sssbin 2025. 4. 14. 22:56

 

https://school.programmers.co.kr/learn/courses/30/lessons/42746

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

์ž˜ ์•ˆ ํ’€๋ ค์„œ ๊ฒฐ๊ตญ ๋‹ต์ง€๋ฅผ ๋ดค๋‹ค...

 

import java.util.*;

class pg42746 {
    public String solution(int[] numbers) {
        String[] snumbers = Arrays.stream(numbers)
                .mapToObj(number -> String.valueOf(number))
                .toArray(String[]::new);

        Arrays.sort(snumbers, (o1, o2) -> (o2 + o1).compareTo(o1 + o2));

        if (snumbers[0].equals("0")) {
            return "0";
        }

        StringBuilder sb = new StringBuilder();
        for (String s : snumbers) {
            sb.append(s);
        }

        return sb.toString();
    }
}

 

๊ฐ„๋‹จํ•˜๋‹ค. String์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋‘ ์ˆ˜๋ฅผ ์ด์–ด๋ถ™์ธ ๊ฐ’์ด ๋” ํฐ ๊ฒƒ์ด ์•ž์ชฝ์œผ๋กœ ์ •๋ ฌ๋˜๊ฒŒ ํ•˜๋ฉด ๋œ๋‹ค.

e.g. 66, 65 ๊ฐ€ ์žˆ๋‹ค๋ฉด "6566" < "6665" ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์„œ๋Š” 66 > 65

์ฃผ์˜ํ•  ์ ์€ ๋ชจ๋“  ์›์†Œ๊ฐ€ 0์ผ ๋•Œ "0"์„ ๋ฐ˜ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ์ .