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 |