거인의 코딩일지
[Lv.1_Java] 숫자 짝꿍 본문
728x90
class Solution {
public String solution(String X, String Y) {
StringBuilder answer = new StringBuilder();
int [] xArr = new int [10];
int [] yArr = new int [10];
for(int i = 0; i < X.length(); i++){
xArr[X.charAt(i) - '0']++;
}
for(int i = 0; i< Y.length(); i++){
yArr[Y.charAt(i)-'0']++;
}
for(int i = 9; i >= 0; i--){
for(int j =0; j<Math.min(xArr[i], yArr[i]); j++){
answer.append(i);
}
}
if(answer.length() == 0) return "-1";
if(answer.charAt(0) == '0') return "0";
return answer.toString();
}
}
숫자 짝꿍...... 어마무시했다...!
계속 구글링 하면서 찾아본 결과 StringBuilder 을 사용해주어야 풀 수 있었다!
String 와 StringBuilder, StringBuffer 의 차이는 나중에 다시 정리해서 포스팅 할 것이다!!
우선 인덱스에 해당하는 숫자를 담을 배열을 선언해 준뒤
charAt(i) - '0'을 통해 char형의 문자들을 int형으로 변환시켜준다!
Math.min() 함수를 통하여 둘중에 더 인자가 작은 함수를 가져오고
-1 과 0 인 경우를 조건문으로 걸러주고 answer을 string 형으로 다시 변환시켜서 return 해주면 해결된다!!!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/034.gif)
숫자 짝꿍.... 강력했다.....!
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.1_Java] 가운데 글자 가져오기 (0) | 2023.08.14 |
---|---|
[Lv.1_Java] 시저암호 (0) | 2023.08.14 |
[Lv.1_Java] 삼총사 (0) | 2023.08.09 |
[Lv.1_Java] 덧칠하기 (0) | 2023.08.09 |
[Lv.1_Java] 로또의 최고 순위와 최저 순위 (0) | 2023.08.09 |