문제
나의 생각
해당 문제는 답이 잘 떠오르지 않아 다른 사람들의 풀이를 보고 개념을 정리한 문제이다.
값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 |