Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 샤로수길 데이트
- 강아지 열사병
- 국비지원 예습
- 반려견 유기농
- 반려견 홀리스틱
- 반려견 열사병
- 강아지
- 신포동 맛집
- 강아지 유기농 사료
- 샤로수길 맛집
- 강아지종류
- 동인천 맛집
- 자동화봇
- 반려견 사료등급
- 닥스훈트
- 부산 맛집
- 홀리스틱 유기농
- 서울대입구 맛집
- 강아지 더위
- 쿠팡매크로
- 티켓팅매크로
- 반려견 종류
- 강아지 종류
- 반려견 유기농 사료
- 강아지 유기농
- 반려견
- 강아지 홀리스틱
- 반려견 더위
- 쿠팡메크로
- 티켓팅메크로
Archives
- Today
- Total
심심한잉여의 잡동사니
JAVA - 프로그래머스 2레벨 - 튜플 본문
반응형
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
class Solution {
public int[] solution(String s) {
int[] answer = {};
String str1 = s.substring(2, (s.length() - 2)); // 각 앞, 뒤에 있는 중괄호 삭제
List<String[]> list = new ArrayList<String[]>();
String[] strA1 = str1.split("\\},\\{"); // String으로 받은 배열값 배열로 정리
Map<Integer, String[]> map = new HashMap<Integer, String[]>();
for(int i = 0; i<strA1.length;i++) {
list.add(strA1[i].split(",")); // 정리된 배열값들을 다시 각각의 2차원 배열로 정리
}
for(int i = 0;i<list.size();i++) { // 2차원 배열로 정리된 배열을 length를 키워드로 정렬
map.put(list.get(i).length, list.get(i));
}
Set<String> set = new LinkedHashSet<String>(); // 순서가 섞이지 않도록 링크셋 사용
for(int i = 1;i<=map.size();i++) {
for(int j = 0;j<map.get(i).length;j++) {
set.add(map.get(i)[j]); // 배열길이로 정렬한 순서대로 배열값을 set에 정리
// set은 중복된 값은 저장되지 않음
}
}
answer = new int[set.size()];
Iterator<String> it = set.iterator(); // set순회방법
int i = 0;
while (it.hasNext()) { // set 순회방법 2
answer[i] = Integer.parseInt(it.next()); // 순회하며 answer에 값 지정
i++;
}
return answer;
}
}
하면서 내부클래스를 이용한 sort방법은 배웠으나 map으로 하는것이 더 성능이 잘 나올것같아 바꿧다.
반응형
'코딩일기 > 코딩테스트 연습' 카테고리의 다른 글
[알고리즘]선택 정렬(Selection Sort) (0) | 2022.03.26 |
---|---|
JAVA - 프로그래머스 3레벨[해시] - 베스트앨범 (0) | 2022.01.28 |
JAVA - 프로그래머스 1레벨 - N번째 수 (0) | 2021.10.18 |
JAVA - 프로그래머스 1레벨 - 완주못한 선수 (0) | 2021.10.17 |
JAVA - 프로그래머스 레벨2 - 전화번호 목록 (0) | 2021.10.16 |