JS (Java Script)

JS 문자열 뒤집어서 return (for문 덕지덕지?? NO!!) (... / reverse( ) / join( ) )

GABOJOK 2023. 5. 28. 15:01

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

 

제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000

 

입출력 예

my_stringreturn

"jaron" "noraj"
"bread" "daerb"

 

 

function solution(my_string) {

    let answer = [];
    for(let a = 0; a <= 999; a++){
        answer[a] = my_string[a];
        if (my_string.length-1 === a){
            break;
        }
    }

    let reverse = answer.reverse();
    let rAnswer = ""
    for(let b = 0; b <= 999; b++){
        rAnswer += reverse[b];
        if (my_string.length-1 === b){
            break;
        }
    }
    return rAnswer;
}

 

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 왜 이렇게 풀었을까.........

다른사람의 풀이를 보면서 정말 많이 공부가 되는거 같다.

 

function solution(my_string) {
    var answer = [...my_string].reverse().join("");
    return answer;
}

 

내가 배웠지만, 못쓴것들을 다시 정리한다. 

 

1.     ...  전개구문 (spread operator) : 풀어서 하나하나 준다.(다시 합칠수도 있음. 아래링크 참고)

https://gabojok.tistory.com/35

var answer = [...my_string]

 

결과값은 이렇다. 

[ 'j', 'a', 'r', 'o', 'n' ]

 

 

 

새로배운거

2.    .reverse( ) : 배열의 순서를 거꾸로 만들어 준다. 

var answer = [...my_string].reverse()

 

결과값은 이렇다.

[ 'n', 'o', 'r', 'a', 'j' ]

 

이 reverse 함수는 원본 배열도 함께 변형된다. 

 

 

원본 배열은 그대로 유지하고, 리턴되는 값만 변경하고 싶을 때에는??

원본배열 복사해서 사용해야 한다

위에서 쓴것처럼

[...변수이름].reverse( )

 

3.    .join( ) :  배열의 요소들을 연결하여 하나의 문자열로 만드는 함수

 

배열 내의 모든 값들을 순서대로 연결시켜준다. 

배열 내의 값이 0일 경우에 빈 문자열을 내보내고,

구분시켜줄, 혹은 묶어줄 요소를 괄호안에 넣어주면 그대로 구분 혹은 묶어서 나온다.

만약 구분값이 없다면 쉼표로 표시되서 연결됨.

 

var test = ['a', 'b', 'c'];
var result1 = test.join();
 // result : a,b,c


var result2 = test.join('');
 // result : abc

 

var test = ['2020', '01', '01'];
var result1 = test.join('-');
 // result : 2020-01-01'


var result2 = test.join('/');
 // result : 2020/01/01

 

 

join() 에 대한 출처

https://sesok808.tistory.com/662

 

[JavaScript] 배열 하나의 문자열로 만들기 (join 함수)

배열의 요소들을 연결하여 하나의 문자열로 만드는 함수. Array.join([separator]) 배열 내에 모든 값들을 순서대로 연결시켜주고, 배열의 길이가 0이면 빈 문자열을 반환하게 된다. 그리고 구분값이

sesok808.tistory.com