Q08 문자열 재정렬

domybest·2021년 4월 11일
0

실전 문제

목록 보기
7/34

문제 풀이 - 오름차순
문제 풀이 - 내림차순

알고리즘

문자열 전체를 재정렬하는 과정을 거쳤다고 하자. 그러면 숫자는 문자보다 ASCII 코드 값이 항상 작기 때문에 그것을 이용해 문제를 푼다. 전체 배열 정렬 과정을 거치고 숫자 문자면 sum에 더하고 영대문자면 그대로 출력한다. 그 후 반복문이 끝나면 sum 값을 뒤에 출력하면 결과가 완성된다.
아이디어 자체는 쉽게 떠올릴 수 있다. 구현 부분에서 String 형태로 받은 것을 char 배열로 옮겨야만 Arrays.sort 메서드를 사용할 수 있다는 점 정도를 기억하자.

문자열의 내림차순은 어떻게 정렬할까? Arrays.sort의 두번째 인자로 Collections.reverseOrder() 를 주어야 하기 때문에 char 배열이 아닌 Wrapper 클래스 Character 배열로 문자열을 저장해야 한다. 따라서 문제에서는 그냥 char 배열에 toCharArray() 메서드를 이용하면 됐지만 문제 조건이 내림차순 이었다면 반드시 Character 배열에 일일이 반복문을 통해 삽입 해 주어야 한다.

profile
기억할 때 까지 반복!

0개의 댓글