코딩테스트 회고록/코테_Java

[JAVA] 프로그래머스 - 문자열 뒤집기

iamjisu 2023. 1. 31. 15:54

프로그래머스 코딩테스트 연습 입문 '문자열 뒤집기' 문제입니다.

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

 

프로그래머스

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

programmers.co.kr


문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.


⚠️ 제한사항 & 입출력 예

  • 1 ≤ my_string의 길이 ≤ 1,000
my_string (입력) return (출력)
"jaron" "noraj"
"bread" "daerb"

✏️ 직접 구현한 코드

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        char[] arr = my_string.toCharArray();
        char[] res = new char[arr.length];
        for(int i = 0, j = arr.length -1; i < arr.length; i++, j--) {
            res[i] = arr[j];
        }
        String answer = new String(res);
        return answer;
    }
}

🗣️ 코드 설명

  1. toCharArray() 메서드를 이용해 my_string(입력값)을 char 배열에 넣었습니다.
  2. 거꾸로 뒤집은 결과를 넣기위한 res배열을 arr배열의 길이와 같도록 만들었습니다.
  3. for문을 이용해 arr배열의 값을 거꾸로 뒤집어 res배열에 넣었습니다.
  4. String 생성자를 이용해 res배열의 값을 문자열로 바꾸었습니다.

 

이번 문제는 저번에 풀었던 'A로 B 만들기' 문제와 유사해 쉽게 풀 수 있었습니다!!

https://codingismylife.tistory.com/20

 

[JAVA] 코딩테스트 연습 - A로 B 만들기

프로그래머스 코딩테스트 연습 'A로 B 만들기' 문제입니다. https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의

codingismylife.tistory.com


🔥다른 사람의 풀이

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

저는 toCharArray()메서드를 이용해 문자열을 char배열에 넣은 반면,

이 분은 split() 메서드를 이용했네요.

또 answer += arr[i]; 이런식으로 문자열에 그냥 문자배열을 더해도 결과가 나오는 군요!!