230320 데일리코딩

허크·2023년 3월 20일
0

역순의 문자열 출력

1. 반복문

String result = new String();
// 역순의 반복문 작성
for (int i = str.length() - 1; i >= 0; i-- ) {
	result = result + str.charAt(i);	
}
return result;

2. StringBuilder

// reverse() 메서드 사용 위해서 StringBuilder로 전환
StringBuilder sb = new StringBuilder(str);

// reverse() 메서드 사용 동시에 요구조건인 String 타입으로 다시 변환
String reverseStr = sb.reverse().toString();
return reverseStr;

3. Collection

// 빈 ArrayList 생성
List<Character> wordList = new ArrayList<>();

// 문자열의 문자를 List에 추가
for (char word : str.toCharArray()) {
	wordList.add(word);
}

// ArrayList의 요소가 반전
Collections.reverse(wordList);

// Character타입의 ArrayList를 문자열로 변환
String reverseStr = new String();
for (Character word : wordList) {
	reverseStr += word;
}
		
return reverseStr;

심화) Collection + Stream

// 빈 ArrayList 생성
List<Character> wordList = new ArrayList<>();

// 문자열의 문자를 List에 추가
for (char word : str.toCharArray()) {
	wordList.add(word);
}
    
// ArrayList의 요소가 반전
Collections.reverse(wordList);

// Character타입의 ArrayList를 문자열로 변환
String reverseStr = wordList.stream()
                            .map(String::valueOf)
                            .collect(Collectors.joining());
		
return reverseStr;
  • 스트림의 사용을 위해서 추가한 부분
    • 실제 문제에서 스트림이 import되지 않았다면 방법 3번은 사용 X
import java.util.stream.*;
profile
codestates seb 44th // 다크모드로 보는걸 추천드립니다

0개의 댓글