[programmers] 튜플
문제 풀이 : 2021.05.01
풀이
- 앞부분의 {{ 과 뒷부분의 }} 를 substring으로 자름
- 가운데 튜플들의 집합을 나누는 },{를 " " 로 replace로 대체
- " "를 기준으로 split하여 String 배열 생성
- 각 String 배열을 길이 순서대로 sort
- ArrayList에 하나씩 넣으면서 contains로 존재여부 파악
5-1. 존재하지 않으면 answer과 ArrayList에 add
5-2. 존재하면 skip
코드
import java.util.*;
class Solution {
public int[] solution(String s) {
String tmp = s.substring(2,s.length()-2);
tmp = tmp.replace("},{"," ");
String[] str = tmp.split(" ");
int[] answer = new int[str.length];
Arrays.sort(str, (o1, o2) -> o1.length() - o2.length());
ArrayList<Integer> arr = new ArrayList<>();
arr.add(Integer.parseInt(str[0]));
answer[0] = Integer.parseInt(str[0]);
for(String a : str){
String[] str2 = a.split(",");
for(int i = 0;i<str2.length;i++){
Integer b = Integer.parseInt(str2[i]);
if(!arr.contains(b)){
arr.add(b);
answer[str2.length-1] = b.intValue();
}
}
}
return answer;
}
}
문제 출처 : 링크
Author And Source
이 문제에 관하여([programmers] 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yangjs0523/programmers-튜플저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)