본문 바로가기
algorithm/Programmers

[JAVA] (1)문자 반복 출력하기 (2)문자열 뒤집기

by 이쟝 2023. 1. 13.

1. 기본 이중 for문 (내가 푼 코드)

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
         for(int i=0;i<my_string.length();i++) {
             for(int j=0;j<n;j++) {
                 answer += my_string.charAt(i);
             }
         }
         return answer;
    }
}

2. StringBuilder와 String의 repeat( )메서드 활용

class Solution {
    public String solution(String my_string, int n) {
        StringBuilder sb = new StringBuilder();
        for(char c : my_string.toCharArray()){
           sb.append((""+c).repeat(n));
         }
        return sb.toString();
    }
}
  • foreach문으로 하고 싶었는데 어떻게 할까 감이 안와서 이중 for문으로 돌렸는데 .toCharArray( )로 배열로 만들고, 그 안의 내용을 char로 하면 됐었다.. 
  • repeat은 String일 때 쓸 수 있어서 c에 빈문자열을 더해줘야지만 문자열로 인식해서 repeat 할 수 있다..!
  • return 할 때 .toString()으로 변환하지 않으면 오류!

1. 내가 푼 코드

class Solution {
    public String solution(String my_string) {
        StringBuilder sb = new StringBuilder();
        for(int i=my_string.length()-1; i>=0;i--) {
                 sb.append(my_string.charAt(i));
        }
        return sb.toString();
        return sb.append(my_string).reverse().toString();
    }
}

위에 문제를 풀고 나서 푼 코드라서 손쉽게 풀 수 있었다. i>0이 아니라 i>=0이 중요!

2. StringBuilder의 reverse 메서드

class Solution {
    public String solution(String my_string) {
        return new StringBuilder(my_string).reverse().toString();
    }
}

String에는 reverse( )도 있고.. repeat( )도 있고.. 참 좋다..

'algorithm > Programmers' 카테고리의 다른 글

[JAVA] 특정 문자 제거하기  (0) 2023.01.13
[JAVA] 짝수의 합  (0) 2023.01.13
[JAVA] 짝수 홀수 개수  (0) 2023.01.12
[JAVA] 배열 뒤집기(세 가지 방법)  (0) 2023.01.11
[JAVA] 최빈값 구하기  (0) 2023.01.07