반응형
🔺 문제
🔺 코드
고민 좀 해보다가 모르겠어서 다른 분 코드를 보았다...
class Solution {
public String solution(String X, String Y) {
int[] cntX = new int[10];
int[] cntY = new int[10];
for(String tmpX : X.split("")) cntX[Integer.parseInt(tmpX)]++;
for(String tmpY : Y.split("")) cntY[Integer.parseInt(tmpY)]++;
StringBuilder sb = new StringBuilder();
for(int i = cntX.length - 1; i >= 0 ; i--) {
while(cntX[i] > 0 && cntY[i] > 0) {
sb.append(i);
cntX[i]--;
cntY[i]--;
}
}
String answer = "";
if("".equals(sb.toString())) {
answer = "-1";
} else if("0".equals(sb.toString().substring(0,1))) {
answer = "0";
} else {
answer = sb.toString();
}
return answer;
}
}
String으로 하면 시간초과가 뜨고 실패한다고 한다...
그래서 StringBuilder를 이용하신 것이라고...
우와.. 종이에 직접 배열 그려보고 써보고서야 저 식을 이해했다....
나중에 다시 꼭 복습해야지
(참고)
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 문자열 다루기 기본 (0) | 2023.03.03 |
---|---|
[프로그래머스/Lv. 1] 없는 숫자 더하기 (0) | 2023.03.03 |
[프로그래머스/Lv. 1] 핸드폰 번호 가리기 (0) | 2023.03.03 |
[프로그래머스/Lv. 1] 크기가 작은 부분문자열 (0) | 2023.03.03 |
[프로그래머스/Lv. 1] 콜라츠 추측 (0) | 2023.03.02 |