프로그래머스

문자열 내 마음대로 정렬하기,배열 정렬

뇽꾸리 2020. 7. 13. 16:59
반응형

처음 내가 만든 코드

import java.util.Arrays;

class Solution {
    public String[] solution(String[] strings, int n) {
         String[] answer = new String[strings.length];
        String [] answer2 = new String[strings.length];
        for(int i = 0; i < strings.length; i++) {
			answer2[i] = strings[i].charAt(n)+strings[i];
		}
        Arrays.sort(answer2);
        
        for(int i =0; i < answer2.length; i++) {
		answer[i] =answer2[i].substring(1, answer2[i].length());
		}
        return answer;
    }
}

charAt(int)  :  int번째 문자열 반환

substring(int,int) : int 부터 int 사이값만 가져옴

 

 

 

과장님코드 ㄷㄷ 

function solution(strings, n) {
    var answer = [];
    var answer2 = strings.map(s=>s.charAt(n)+s);
    answer2.sort();
    answer = answer2.map(s=>s.substring(1));
    return answer;
}

 

class Solution {
    public String[] solution(String[] strings, int n) {
        return Arrays.stream(strings)
            .map(s->s.charAt(n)+s)
            .sorted()
            .map(s->s.substring(1))
            .collect(Collectors.toList())
            .toArray(new String[strings.length]);
    }
}

.stream api 사용

.map :  배열 값을 빼서 새로운 배열로 만듬

반응형