코딩테스트/programmers

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

개발냐옹발 2022. 8. 24. 22:23

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[문제 요약]

String 배열에서 특정 index의 character를 기준으로 사전순으로 출력하기.

즉, ["sun", "bed", "car"] 의 배열의 1번째라고 주어진다면 u, e, a 순인 ["car", "bed", "sun"]으로 출력되야함.

 

[해결방법]

1. 주어진 문자열 맨앞에 index의 char를 붙인다.

-> usun, ebed, acar 

2. Arrays.sort()를 이용하여 정렬

3. answer 배열에 substring() 함수를 이용하여 0번째만 자르고 넣기.

 

[전체코드]

import java.util.*;

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