알고리즘 - 문자열 변환 연습

ToC

  1. 짝수/홀수 인덱스에 따라 대소문자 변환
  2. 대소문자 서로 바꾸기
  3. 문자열 알파벳 순서대로 정렬하기
  4. 문자열 알파벳 역순으로 정렬하기

짝수/홀수 인덱스에 따라 대소문자 변환

문자열을 argument로 받아서 짝수번째 문자는 대문자로, 홀수번째 문자는 소문자로 바꾸어서 다시 문자열로 반환해보았다.


대소문자 서로 바꾸기

이번엔 문자열을 받아서 대문자는 소문자로, 소문자는 대문자로 바꾸는 메서드를 작성했다.


문자열 알파벳 순서대로 정렬하기

문자열을 받아서 정렬을 하기 위해서 배열로 변환해야하는데, 문자형 배열(char[])로 하던, 문자열 배열(String[])로 하던 상관없다.

위의 출력 결과를 보면 HWdellloor은 10글자인데, length()를 확인해보면 11로 출력되는걸 알 수 있다. 원래 data에 포함되어 있던 5번째 인덱스의 space 값이 가장 앞에 포함되어 있기 때문이다.

정렬 기준은 ASCII코드 테이블에 의해 정렬되는데, space 값은 32번째 ASCII코드로써 위의 문자열 문자중 가장 앞선 순서를 갖는다.


문자열 알파벳 역순으로 정렬하기

문자열을 배열로 변환해서 역순으로 정렬, 다시 문자열로 반환하는 방법도 위의 문자 순서 정렬과 비슷하다. 다만 Arrays.sort() 에 argument로 Collections.reverseOrder() 를 추가해야 한다. 그럼 자동으로 역순으로 정렬된다. 간편하다!

Collections 객체에 내장되어 있는 reverseOrder()를 열어서 확인해보니 아래와 같이 정리되어 있었다.

1
2
3
4
// reverseOrder in Collections.java
public static <T> Comparator<T> reverseOrder() {
return (Comparator<T>) ReverseComparator.REVERSE_ORDER;
}