본문 바로가기

코딩 테스트 공부 일지

#1. 프로그래머스 - 문자열 뒤집기

결과 : 성공

나의 해결 키워드 : Stack의 선입후출의 성격을 이용!

[코드 구성]

1. String 변수를 char[] 배열로 전환.
2. Stack을 생성.
3. 향상된 for문을 사용해 char[] 배열을 char 변수에 넣고 그것을 stack 변수에 할당.
4. StringBuilder를 생성.
5. while() 반복문을 사용하여 StringBuilder 변수에 stack.pop() 메서드로 값을 할당.
6. StringBuilder 객체를 String으로 변환하여 리턴.

import java.util.Stack;

class Solution {
    public String solution(String my_string) {
        
        char[] chars = my_string.toCharArray();
        
        Stack<Character> stack = new Stack<>();
        
        for(char c : chars){
            stack.push(c);
        }

        StringBuilder reversedString = new StringBuilder();
        
        while(!stack.empty()) {
            reversedString.append(stack.pop());
        }
        
        String answer = reversedString.toString();
        
        return answer;
    }
}


[충격적인 간단 해결법]
StringBuilder의 reverse() 메서드....

import java.util.Stack;

class Solution {
    public String solution(String my_string) {
        
        StringBuilder sb = new StringBuilder();
        sb.append(my_string);
        String answer = String.valueOf(sb.reverse());
        System.out.println(aaa);
        
        return answer;
    }
}