๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ์ง๊ฟ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ์ง๊ฟ

์š”์ผ์ด 2023. 3. 14. 18:01
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ 

https://school.programmers.co.kr/learn/courses/30/lessons/131128#qna

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

import java.util.*;

class Solution {
  public String solution(String X, String Y) {

        String answer = "-1";

        ArrayList<Integer> list = new ArrayList<>();

        HashMap<Character, Integer> a = new HashMap<>();
        HashMap<Character, Integer> b = new HashMap<>();

        for(int i=0; i<=9; i++){
            a.put(String.valueOf(i).charAt(0), 0);
            b.put(String.valueOf(i).charAt(0), 0);
        }

        for(int i=0; i<Math.max(X.length(), Y.length()); i++){
            if(i < X.length()){
                a.put(X.charAt(i), a.get(X.charAt(i))+1);
            }
            if(i < Y.length()){
                b.put(Y.charAt(i), b.get(Y.charAt(i))+1);
            }
        }

       for(int i=9; i>=0; i--){

            int z = a.get(String.valueOf(i).charAt(0));
            int k = b.get(String.valueOf(i).charAt(0));

            if(z != 0 && k !=0){
                if(z > k){
                    for(int j=0; j<k; j++){
                        list.add(i);
                    }
                }else if(k > z){
                    for(int j=0; j<z; j++){
                        list.add(i);
                    }
                }else{
                    for(int j=0; j<k; j++){
                        list.add(i);
                    }
                }
            }
        }


        if(list.size() > 0){
            answer = "";
            StringBuilder stringBuilder = new StringBuilder();

            if(list.get(0) == 0){
                return "0";
            }

            for(int i=0; i<list.size(); i++){
                if(answer.equals("0")  && String.valueOf(list.get(i)).equals("0")){
                    answer = "0";
                }else{
                    stringBuilder.append(String.valueOf(list.get(i)));
                }
            }
            answer = stringBuilder.toString();

        }

        return answer;
    }
}
Comments