반응형
프로그래머스의 알고리즘 문제 및 풀이에 대해 차근차근 포스팅하려합니다.
저도 초보자이기도하고 알고리즘에 쉽게 다가갈 수 없는 부분들이 많기 때문에
최대한 알기 쉽게 정리해보려하고 알고리즘을 어려워하는 분들에게 도움이 되었으면 합니다.
많이 공유되고 토론이 될 수 있는 공간이 되었으면 좋겠습니다.
환경
언어 : 자바
단계 : 레벨 1단계 (입문자용)
정답률 : 80%
제목
문자열 내림차순으로 배치하기
문제 설명 및 코드
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 조건
- str은 길이 1 이상인 문자열입니다.
1
2
3
4
5
6
7
|
class Solution {
public String solution(String s) {
String answer = "";
return answer;
}
}
|
cs |
입출력 예
s | return |
"Zbcdefg" | "gfedcbZ" |
반응형
문제 정답 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class Solution {
public String solution(String s) {
String answer = "";
char[] charArr = s.toCharArray();
for(int a=0; a<charArr.length; a++){
for(int d=0; d<charArr.length; d++){
if(charArr[a] > charArr[d]){
char temp = charArr[a];
charArr[a] = charArr[d];
charArr[d] = temp;
}
}
}
return answer = new String(charArr);
}
}
|
cs |
알파벳과 상관없이 반복문으로 내림차순을 하였습니다.
charArray로 변환시킨다음
이중반복문을 통해 내림차순으로 담은 다음
String으로 형변환 시켜주었습니다.
다른사람 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
char[] sol = str.toCharArray();
Arrays.sort(sol);
return new StringBuilder(new String(sol)).reverse().toString();
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println( rs.reverseStr("Zbcdefg") );
}
}
|
cs |
이 코드는 charArray로 변환한 다음
StringBuilder을 통해 reverse로 내림차순한다음 String으로 변환해준 코드입니다.
반응형
'Algorithm' 카테고리의 다른 글
[Java&알고리즘] 문자열 다루기 기본 (Level 1) (0) | 2023.03.29 |
---|---|
[Java&알고리즘] 약수의 개수와 덧셈 (Level 1) (0) | 2023.03.28 |
[Java&알고리즘] 가운데 글자 가져오기 (Level 1) (1) | 2023.03.23 |
[Java&알고리즘] 수박수박수박수박수박수? (Level 1) (0) | 2023.03.23 |
[Java&알고리즘] 없는 숫자 더하기 (Level 1) (0) | 2023.03.22 |
댓글