숫자 짝꿍

문제

 


나의 생각

 

해당 문제는 답이 잘 떠오르지 않아 다른 사람들의 풀이를 보고 개념을 정리한 문제이다. 

 

값1, 값2에 대한 값을 카운팅을 하여 저장 할 수 있는 배열 2개를 생성 ->

매개변수로 받는 X, Y는 문자열이기에 타입을 int로 변환하여 그 배열 index에 맞게 카운팅 되도록 함.

 

값들을 출력을 해줘야 하는데 갑1, 값2의 같은 index 값에서 둘 다 0 이상일 경우 해당값을 append 함수를 통해 추가->

이후 두값에 대해서 -- 를 수행 -> 

 

만들어진 answer에서 빈문자열이면 -1 값을 0만 있다면 0을 아니면 answer 그대로 보내는 방식으로 진행

 


나의 답안

 

public String solution(String X, String Y) {
    StringBuilder answer = new StringBuilder();

    int[] xArr = new int[10];
    int[] yArr = new int[10];

    for (String x : X.split("")) {
        xArr[Integer.parseInt(x)]++;
    }

    for (String y : Y.split("")) {
        yArr[Integer.parseInt(y)]++;
    }


    for (int i = 9; i >= 0; i--) {
        while (xArr[i] > 0 && yArr[i] > 0) {
            answer.append(i);
            xArr[i]--;
            yArr[i]--;
        }
    }


    if ("".equals(answer.toString())) {
        return "-1";
    } else if ("0".equals(answer.toString().substring(0, 1))) {
        return "0";
    }

    return answer.toString();
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

없는 숫자 더하기  (0) 2023.02.23
나머지가 1이 되는 수 찾기  (0) 2023.02.23
삼총사  (0) 2023.02.23
콜라 문제  (0) 2023.02.23
푸드 파이트 대회  (0) 2023.02.23