본문 바로가기

알고리즘/카카오

2019 카카오 개발자 겨울 인턴십 - 튜플

반응형

https://programmers.co.kr/learn/courses/30/lessons/64065

 

코딩테스트 연습 - 튜플

"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]

programmers.co.kr


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class Solution {

	public static int[] solution(String s) {

		s = s.substring(1, s.length() - 1);

		String[] strArr = s.split("},");
		
		for (int i = 0; i < strArr.length; i++) {
			strArr[i] = strArr[i].replace("{", "");
			strArr[i] = strArr[i].replace("}", "");
		}	

		Arrays.sort(strArr, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				return Integer.compare(o1.length(), o2.length());
			}
		});
	
		ArrayList<Integer>[] list = new ArrayList[strArr.length];
		
		for(int i=0; i<list.length; i++) list[i] = new ArrayList();
		
		for(int i=0; i<strArr.length; i++) {	
			String[] arr = strArr[i].split(",");
			for(int j=0; j<arr.length; j++) {
				list[i].add(Integer.parseInt(arr[j]));
			}
		}
				
		int[] answer = new int[strArr.length];
		
		for (int i = 0; i < list.length; i++) {
			
			for(int j=0; j<i; j++) {
				list[i].remove(list[j].get(0));
			}
			answer[i] = list[i].get(0);
			System.out.print(answer[i] + " ");
		}
		
		return answer;
	}

}
반응형

'알고리즘 > 카카오' 카테고리의 다른 글

2018 KAKAO BLIND RECRUITMENT - [3차] n진수 게임  (0) 2020.09.18
2020 카카오 인턴십수식 - 최대화  (0) 2020.09.15
2020 KAKAO BLIND RECRUITMENT - 괄호 변환  (0) 2020.08.30
키패드 누르기  (0) 2020.08.20
오픈채팅방  (0) 2020.05.29