개발하는 고양이 오이

24. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 문자열 내림차순으로 배치하기 본문

코딩테스트 - JAVA/프로그래머스 Programmers

24. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 문자열 내림차순으로 배치하기

Cucum 2022. 5. 6. 14:25

https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

프로그래머스 코딩테스트 연습 Level.1 - 문자열 내림차순으로 배치하기



풀이

import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        
        String str[] = s.split("");
        Arrays.sort(str);
        
        Collections.reverse(Arrays.asList(str));
        
        for (int i = 0; i < str.length; i++) {
            answer += str[i];
        }
        
        return answer;
    }
}

Arrays.asList

= Array(배열)을 List로 변경할 때 사용함. 

   asList()를 사용해서 객체를 만들 때 새로운 배열 객체를 만드는 것이 아니라, 원본배열의 주소값을 참조함.

   asList()를 사용해서 내용을 수정하면 원본 배열도 함께 바뀌게 됨.

   Arrays.asList()로 만든 List에 새로운 원소를 추가하거나 삭제할 수 없음.

 

Collections.reverse() 

= 원본 배열을 거꾸로 뒤집음

 


다른 사람의 풀이

 

StringBuilder 

= StringBuilder는 String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라, 기존의 데이터에 더하는 방식으로 사용하기 때문에 속도가 빠르며 상대적으로 부하가 적음.