티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/12915
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
- 알고리즘
- K번째수
- 최솟값
- 노션트렐로광고X
- 문자열 내 마음대로 정렬하기
- 객체지향과 디자인패턴
- 자바
- 텔레그램
- 스프링 부트
- codility
- 다음 맵 api
- 맵 api
- API
- 프로그래머스
- 안드로이드 스튜디오
- 쇠막대기
- 파이팅코리아
- FrogJmp
- cgv
- 예매 알림
- 더 나은 내일
- AWS
- 타겟 넘버
- 124 나라의 숫자
- Spring
- json
- 완주하지 못한 선수
- java
- 카카오인턴
- 기능개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함