새소식

Programmers Coding Test/Java

[프로그래머스 120822] Java - 코딩테스트 입문 / 문자열 뒤집기

  • -

 

 

문자열 뒤집기

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120822

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

1)  문제

문자열 my_string이 매개변수로 주어집니다. 
my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ my_string의 길이 ≤ 1,000

 

 

 

2)  예시

 

 

Result Table
my_string return
"jaron" "noraj"
"bread" "daerb"

 

 

 

 

입출력 예 #1
my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.


입출력 예 #2
my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.

 

 

 

 

 

3)  풀이

 

 

1. 클래스 선언을 해줍니다

● class Solution {

클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.

 

 

 

 

2. 메소드 선언을 해줍니다.

● public String solution(String my_string) {

문자열 my_string을 매개변수로 사용하는 solution 메소드를 선언해줍니다.

메소드의 결과값인 solution은 문자열이 나오므로, 데이터 타입을 String으로 해줍니다.

 

 

 

 

3. 문자열 my_string에 대한 제한사항을 확인하고, 만족하지 않는다면 예외처리합니다.

 if (my_string.length() < 1 || my_string.length() > 1000) {
            throw new IllegalArgumentException("my_string의 길이는 1 이상 1000 이하입니다.");
        }

 

 

 

 

 

4. StringBuilder 객체인 reversedString을 생성해줍니다.

이 객체에는 my_string 인덱스 맨뒤부터 인덱스값이 0이 될때까지 -1을 해주며, 그것이 차례로 문자열로 덧붙여집니다.

그리고 toString메소드를 통해 문자열로 변환하여 반환해줍니다.

결과적으로 my_string 문자열을 뒤집어서 반환해주게되는 것입니다.

 

 

     StringBuilder reversedString = new StringBuilder();

 

        for(int i = my_string.length - 1; i >= 0; i--) {

        reversedString.append(my_string.charAt(i));

                         }

        return reversedString.toString();

                   }

        }


       

 

※ StringBuilder 란?

가변성있는 문자열을 만들기위한 클래스로, 그 자체로는 문자열이라고 보기 어려우나 toString 메소드를 통해 내부에 있는 문자열을 반환할 수 있습니다.String 과는 다르게 문자열을 직접 수정할 수 있어 효율적이며, 새로운 문자열을 생성하는 것이 아니라 기존 문자열을 수정하는 방식이라 성능 향상에도 도움을 줄 수 있습니다.

 

※ append 메소드란?

StringBuilder 객체에 문자나 데이터를 붙여주는 메소드입니다. append가 여러번 시행되면 순서대로 합쳐집니다.

 

※ charAt 메소드란?

문자열에서 특정 위치에 있는 문자를 반환합니다. 각 문자는 인덱스로 접근할 수 있고, 인덱스는 0부터 시작합니다.

ex) str.charAt(0)은 문자열 str의 첫 번째 문자를 반환

 

※ toString 메소드란?

객체를 문자열로 변환하는 데 사용합니다.

 

 

 

 

 

 

4)  코드

 

class Solution {
    public String solution(String my_string) {
        if (my_string.length() < 1 || my_string.length() > 1000) {
            throw new IllegalArgumentException("my_string의 길이는 1 이상 1000 이하입니다.");
        }

        StringBuilder reversedString = new StringBuilder();

        for (int i = my_string.length() - 1; i >= 0; i--) {
            reversedString.append(my_string.charAt(i));
        }

        return reversedString.toString();
    }
}

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.