송민준의 개발노트

프로그래머스-level1-문자열 내림차순으로 배치하기 본문

알고리즘/프로그래머스

프로그래머스-level1-문자열 내림차순으로 배치하기

송민준 2019. 11. 10. 13:06

https://programmers.co.kr/learn/courses/30/lessons/12917

 

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

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return Zbcdefg gfedcbZ

programmers.co.kr

접근방식

1. 리스트와 스트링 빌더 한개씩 선언

2. 리스트에 string을 한개씩 쪼개서 추가해줌(int타입으로)

3. 리스트 정렬

4. StringBuilder에 list를 한개씩 넣어줌( insert 인덱스 0으로 해주면 역순으로 들어감)

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Solution {
  public String solution(String s) {
         List<Integer> ss = new ArrayList<Integer>();
         StringBuilder se = new StringBuilder();
      
		 for(int i = 0; i < s.length(); i++) {
			 ss.add((int)s.charAt(i));
		 }
		 Collections.sort(ss);
		
		 ss.forEach(item -> se.insert(0, (char)((int)item)));
		 return se.toString();
  }
}

 

참고할 코드 1

참고할 코드 2