티스토리 뷰
입력받은 문자열을 내림차순으로 배치하기
reverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다.
str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요.
str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
예를들어 str이 "Zbcdefg"면 "gfedcbZ"을 리턴하면 됩니다.
스트링으로 입력된 파라미터 값을
toCharArray()를 이용하여 배열로 반환
배열을 오름 차순으로 정렬하여 temp배열에 역으로 넣어준다.
아래는 소스
풀이
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 |
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
int len = str.length();
System.out.println("strLength : "+len);
char[] temp = str.toCharArray();
char[] temp2 = str.toCharArray();
int size = temp.length;
Arrays.sort(temp);
System.out.println("tempsize : "+temp.length);
for(int i =0; i<len; i++)
{
temp2[i] =temp[--size];
}
str ="";
for(int i =0; i<temp2.length; i++)
{
str +=temp2[i];
}
return str;
}
public static void main(String[] args)
{
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("vttsnlWSNJG"));
}
}
|
cs |
tryhelloworld.co.kr에 다른사람의 풀이를 보니..
StringBuilder 클래스에 리버스 메소드가 있었다..ㅋㅋㅋ
그리고 Char 배열을 new String()을 이용하여 문자열로 반환되는게 있다니 신기하다.
언뜻 기억에 자바에서 문자열을 선언할때
String test = "test";를 선언할때
String test = new String("test"); 로 자동적으로 변환된다는게 생각나는데 가물가물하다.
위의내용은 아래 블로그 참고
http://nine01223.blog.me/220741577289
String은 기본 자료형이 아니다
String은 객체(java.lang 패키지)
int,double과 같은 기본자료형은 스택 영역에 할당
String은 객체이므로 heap 영역에 할당
String은 객체이므로 메소드를 가지고 있다.
String은 예외적으로 ""라고 선언해도 객체가 만들어 진다.
자바 언어를 만든사람이 new연산자 대신 ""라고 선언해도 String 객체를 new 연산자를 이용하여 객체를 생성하게 설계
문자열 리터럴을 가리키는 참조형변수라고 볼수 있다.
자바 API를 보면
여러가지 파라미터값을 가지는 생성자가 있다.
String(byte[] bytes) String(String original)String(char[] value)
등 많은 생성자가 있음
아래는 간결한 소스
16번째 줄 소스는
return new StringBuilder(new String(temp)).reverse().toString();
는 각 메소드에 계속 자신의 참조현변수를 리턴하기때문에 메소드를 붙여서 쓸수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
int len = str.length();
System.out.println("strLength : "+len);
char[] temp = str.toCharArray();
Arrays.sort(temp);
//StringBuilder strBuilder = new StringBuilder(str);
return new StringBuilder(new String(temp)).reverse().toString();
}
public static void main(String[] args)
{
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("vttsnlWSNJG"));
}
}
|
cs |
'알고리즘 > JAVA' 카테고리의 다른 글
소수 찾기 알고리즘 (1) | 2016.12.30 |
---|
- Total
- Today
- Yesterday
- 이미지 배경제거
- 안드로이드 키
- SET CHAINED OFF
- Android Studio 키
- pytorch GPU
- django 웹서버
- Django
- 장고앱
- removeNode()
- 파이토치 gpu 사용량
- 장고프로젝트
- 노드삭제
- Java
- removeNode
- unchained transaction mode
- 이미지 전처리
- 엘리먼트삭제
- 딥러닝 gpu 사용량
- sp_procxmode#
- 생활속탄소저감 #감탄캠페인 #나는 오늘도 감탄을 했다 #에코한림
- 한림대의료원#친환경캠페인#감탄캠페인#종이 절약#에코한림
- 전경추출
- 이미지전처리
- 파이토치
- Grabcut
- django app
- gpu사용량
- 딥러닝 GPU #pytorch gpu
- 딥러닝 gpu 설정
- 안드로이드 사인키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |