프로그래밍

(알고리즘) 문자열 뒤집기

제이비:D 2016. 10. 7. 11:01

Q. 문자열을 입력 받아서 그 문자를 반대로 출력하는 로직을 구현해보자. ( eg. SEOUL ----> LUOES )

ver.StringBuffer 활용


String 값을 입력 받아 StringBuffer로 변환할 경우
StringBuffer의 reverse() 메소드를 사용할 수 있다.

import java.util.Stack; public class ReverseStrExample { public static void main(String[] args) { // TODO Auto-generated method stub String s = "SEOUL"; StringBuffer sb = new StringBuffer(s); System.out.println(sb.reverse()); } }

*String과 StringBuffer의 차이점

String은 불변객체. 고정길이.

StringBuffer는 사용하는 만큼 메모리 할당. char[] 형태.


ver.Stack 활용


String 문자열을 charAt(index) 활용하여, 하나씩 Stack에 담는다.
Stack의 pop 메소드를 활용하여 Return

import java.util.Stack; public class ReverseStrExample { public static void main(String[] args) { // TODO Auto-generated method stub String s = "I LOVE YOU"; Stack stack = new Stack(); for(int i=0;i<s.length();i++) stack.push(s.charAt(i)); while(!stack.empty()) System.out.print(stack.pop()); } }