문자열 뒤집기

1. 문제


2. 나의 생각

charAt() 으로 string 문자를 뒤집어서 넣자 라고 접근을 했다. 생각보다 쉽게 끝날 거라고 생각했지만 몇 가지 부분을 공부를 했다. 일단 나의 답안은 아래와 같다. 

 

class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        for(int i = my_string.length()-1 ; i >=0 ; i--)
        	answer = answer + my_string.charAt(i);
        
        return answer;
    }
}

3. 공부한 부분

 

1.char 타입 >> 참조형타입으로 변경

 

일단 "char타입을 다시 참조 타입으로 바꾸는 방식으로는 char + "" 참조형 타입을 더해주면 된다." 는 내용을 다시 한번 인지 할 수 있었던 문제이다. 다시 집어 넣기만 하면 되지만 방식이 떠오르지 않아 생각보다 시간을 많이 소비했다. 

 

2. StringBuffer를 이용한 문자열 재배치

 

자바의 정석1권에서 나온 StringBuffer를 이용한 새로운 문제이다. 순서는 아래와 같다.

 

- StringBuffer에 입력받은 문자열을 넣어 새로운 참조변수를 생성. 

- 해당 참조변수를 .reverse() 문자열을 뒤집은 후에 .toSting()으로 다시 reverse 참조변수에 넣는 방식이다. 

 

길이는 좀 더 길어 보이지만 해당 방식이 나중에 더 도움 될 수 있는 접근 방식으로 보여서 미리 공부를 해두는게 좋을듯 하다.

public class StringReverse {
    public static void main(String[] args) {
 
        // 문자열
        String str = "ABCDE";
 
        // 문자열 reverse
        StringBuffer sb = new StringBuffer(str);
        String reverse = sb.reverse().toString();
 
        // 결과 출력
        System.out.println(sb); // "EDCBA"
        System.out.println(reverse); // "EDCBA"
 
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

배열뒤집기  (0) 2022.11.23
짝수 홀수 개수  (0) 2022.11.23
점의 위치 구하기  (0) 2022.11.22
피자 나눠 먹기(3)  (0) 2022.11.22
피자 나눠 먹기(1)  (0) 2022.11.22