728x90
반응형
2021.01.03
78번째 포스팅
입사 302일차.
코테 문제풀이 10주차 2번 문제
0. 문제
① 연습문제 : 문자열 내 마음대로 정렬하기
② 설명
문제설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건
|
③ 링크
1. 접근방법
생각해낸 방법은 2가지
① Collections.sort()를 사용해서 비교
② Entry, CompareTo를 사용해서 비교
2. 풀이
① 접근방법 : ①
② 풀이
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
29
30
31
32
33
|
import java.util.*;
class Solution {
/*
* 시작시간 : 21:15
* 종료시간 : 22:11
*/
public String[] solution(String[] strings, int n) {
String[] answer = sortArrays(strings, n);
return answer;
}
public String[] sortArrays(String[] strings, int n) {
// 1. 정렬대상문자 + 문자열
List<String> list = new ArrayList<>();
for (int i = 0; i < strings.length; i++) {
list.add(strings[i].charAt(n) + strings[i]);
}
// 2. Collections.sort() 메소드를 사용해서 오름차순 정렬
Collections.sort(list);
// 3. String[] 고정배열로 변환
String answer[] = new String[strings.length];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i).substring(1, list.get(i).length());
System.out.println(answer[i]);
}
return answer;
}
}
|
cs |
3. 결과
4. 주의사항
① Entry와 CompareTo를 사용할경우 두번째 문자부터 비교하는 코드가 짜기 어려워진다.
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코테/JAVA] 2018 KAKAO BLIND RECRUITMENT: [1차] 비밀지도 (0) | 2022.01.24 |
---|---|
[코테/JAVA] 2022 KAKAO BLIND RECRUITMENT : 신고 결과 받기 (0) | 2022.01.23 |
[코테/JAVA] 연습문제 : 문자열 내 p와 y의 개수 (0) | 2022.01.02 |
[코테/JAVA] Summer/Winter Coding(~2018) : 영어 끝말잇기 (0) | 2021.12.05 |
[코테/JAVA] 해시 : 전화번호 목록 (0) | 2021.11.29 |
댓글