티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/12915
알고리즘 연습 - 문자열 내 마음대로 정렬하기 | 프로그래머스
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인
programmers.co.kr
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
34
35
36
37
38
39
40
41
|
import org.junit.Test;
import java.util.Arrays;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
public class SolutionTest {
@Test
public void 문자열정렬하기 () {
//given
String[] strArr = {"sun", "bed", "car"};
//when
solution(strArr, 1);
//then
assertThat(strArr[2], is("sun"));
}
public static String[] solution(String[] strings, int n) {
for(int i = 1; i < strings.length; i++) {
int index = i;
while(index != 0) {
if(strings[index-1].charAt(n) > strings[index].charAt(n)) {
String temp = strings[index-1];
strings[index-1] = strings[index];
strings[index] = temp;
}
index--;
}
}
return strings;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
결과는 나오지만 시간복잡도가 O(N^2)이므로 좋지 못한듯 싶다.
n번째의 글자를 앞으로 빼서 sort한 후 앞글자만 제거하면 O(N)이 되기때문에 해당 방법이 더 좋아보인다!
'기초CS > 알고리즘' 카테고리의 다른 글
[프로그래머스] 알고리즘 연습 문제 : 체육복 (자바/JAVA) (0) | 2019.05.30 |
---|---|
[프로그래머스] 알고리즘 연습 문제 : 나누어 떨어지는 숫자 배열 (자바/JAVA) (0) | 2019.05.28 |
[프로그래머스] 알고리즘 연습 문제 : 같은 숫자는 싫어(자바/JAVA) (0) | 2019.04.29 |
[프로그래머스] 알고리즘 연습 문제 : 가운데 글자 가져오기(자바/JAVA) (0) | 2019.04.24 |
[프로그래머스] 알고리즘 연습 문제 : 2016년(자바/JAVA) (0) | 2019.04.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- cgv
- 알고리즘
- 완주하지 못한 선수
- 최솟값
- 자바
- 다음 맵 api
- 텔레그램
- java
- 스프링 부트
- 기능개발
- 파이팅코리아
- 타겟 넘버
- 쇠막대기
- 카카오인턴
- Spring
- 맵 api
- 문자열 내 마음대로 정렬하기
- json
- 124 나라의 숫자
- API
- 예매 알림
- 노션트렐로광고X
- 객체지향과 디자인패턴
- K번째수
- FrogJmp
- 더 나은 내일
- codility
- AWS
- 프로그래머스
- 안드로이드 스튜디오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함