728x90
300x250
programmers.co.kr/learn/courses/30/lessons/64065
런타임 에러로 효율이 아주 낮은.. 1번째 코드..
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = {};
s = s.replace("{","");
// 원소가 1개인가?
if(!s.contains("},")){
answer = new int[1];
answer[0] = Integer.parseInt(s.replace("}",""));
}
else{
String[] sp = s.split("},");
answer = new int[sp.length];
for(int i = 0 ; i< sp.length; i++) {
sp[i] = sp[i].replace("}","");
}
//정렬
Arrays.sort(sp, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
// for (int i = 0; i< sp.length; i++) {
// System.out.println(sp[i]);
// }
for(int i =0; i<sp.length;i++){
sp[i] = sp[i].replace(",","");
for(int j = i+1;j<sp.length;j++){
if(sp[j].contains(sp[i])){
sp[j] = sp[j].replaceFirst(sp[i],"");
}
}
answer[i] = Integer.parseInt(sp[i]);
}
}
return answer;
}
}
split()과 compare를 적절히 사용해야 하는 것은 알았지만..
replace할때 바꿀문자열이 없어도 에러없이 동작하는줄은 몰랐다.. 기본적인 내장함수들에 대한 공부가 필요한듯!
거의 다 풀었는데 아쉽당~~ㅠ
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = {};
s = s.substring(2,s.length()-2).replace("},{","/");
String[] sp = s.split("/");
answer = new int[sp.length];
//정렬
Arrays.sort(sp, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
// for (int i = 0; i< sp.length; i++) {
// System.out.println(sp[i]);
// }
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i =0; i<sp.length;i++){
String[] sp2 = sp[i].split(",");
for(int j = 0;j<sp2.length;j++){
if(!list.contains(Integer.parseInt(sp2[j])))
list.add(Integer.parseInt(sp2[j]));
}
}
for(int i = 0 ; i<list.size();i++){
answer[i] = list.get(i);
}
return answer;
}
}
728x90
'알고리즘 > 문자열' 카테고리의 다른 글
프로그래머스[Level2] - 괄호 변환 [문자열][2020 KAKAO BLIND RECRUITMENT] - Java (0) | 2020.09.12 |
---|---|
프로그래머스[Level2] - 오픈채팅방 [문자열][2019 KAKAO BLIND RECRUITMENT] - Java (0) | 2020.09.11 |
프로그래머스[Level2] - 문자열 압축 [2020 KAKAO BLIND RECRUITMENT] (0) | 2020.08.29 |
SWEA - 8821. 적고 지우기 (0) | 2020.03.14 |
SWEA - 4522. 세상의 모든 팰린드롬 (0) | 2020.03.08 |