Coding Test/프로그래머스
[프로그래머스 자바 JAVA] 문자열 내 마음대로 정렬하기 (level 1)
똧이
2022. 3. 18. 18:28
반응형
https://programmers.co.kr/learn/courses/30/lessons/12915
코딩테스트 연습 - 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱
programmers.co.kr
import java.util.Arrays;
class Solution {
public String[] solution(String[] strings, int n) {
// 만약 strings[]가 ["sun", "bed", "car"]라고 한다면
for(int i = 0; i < strings.length; i++){
strings[i] = strings[i].charAt(n) + strings[i];
}
/*
* strings[i] = strings[i].charAt(n) + strings[i];
ex. strings[i]가 sun일 때, n = 1일 때
strings[i] = u + sun = usun;
ex. strings[i]가 bed일 때, n = 1일 때
strings[i] = e + bed = ebed;
==> strings[]은 ["usun", "ebed", "acar"] 가 됨.
*/
Arrays.sort(strings); // strings 배열을 오름차순으로 정렬해줌 ==> ["acar", "ebed", "usun"]
// 문제: 사전순으로 앞선 문자열이 앞쪽에 위치합니다. = 오름차순
for(int i = 0; i < strings.length; i++){
strings[i] = strings[i].substring(1);
}
/*
정렬된 strings 배열을 반복문을 돌리면서 맨 앞글자를 제외한 단어를 다시 배열에 넣음
ex. "acar".substring(1); = "car"
ex. "ebed".substring(1); = "bed"
ex. "usun".substring(1); = "sun"
==> ["car", "bed", "sun"]
*/
return strings;
}
}
728x90