[DAY9] reverse 없이 문자열 뒤집기

1nxeo·2023년 2월 14일

항해99

목록 보기
9/63
post-thumbnail

문제

하지만 난 아직 reverse를 잘 몰라서 reverse 없이 풀어보고 싶었단말이지..

시도

  1. 수학적으로.. 수학을 못하지만..
// reverse를 사용하지 않는 법
    // 0....n까지의 인덱스가 있을 때
    // 0을 n으로 바꾸려면 + n
    // 1를 n-1으로 바꾸려면 1 + n-1-1 --> n-2
    // 2을 n-2로 바꾸려면 3 + (n-2-2) --> n-4
    // 3를 n-3으로 바꾸려면 4 + (n-3-3) --> n-6
    // ...
    // n-3을 3로 바꾸려면 n-3 + (3 - n + 3) --> -n+6
    // n-2를 2으로 바꾸려면 n-2 + (2 - n + 2) --> -n+4
    // n-1을 1로 바꾸려면 n-1 + (1 - n + 1) --> -n+2
    // n을 0로 바꾸려면 n + (- n)
    // ==> 때려쳐
  1. 그렇다면 for문을 이용하면 되지 않을까?
for(시작위치; 횟수; 어떻게 변할건지)

그럼 항상 쓰던
for (i=0;i<arr.length;i+++대신 -를 사용하면 되지 않나?
시작위치는 끝점 : i=arr.length-1
i가 0이 되기 전까지 (음수가 되지 않게) : i<=0
i를 1씩 감소시켜준다 : i--

해결

function solution(my_string) {
    let reverseStr = '';

    for (i=my_string.length-1;i>=0;i--){
        reverseStr += my_string[i]
        }
    
    return reverseStr;
    
}
    

알게된 것

생각보다 이미 알고 있는 것에서 응용할 수 있는게 많다.
앞으로는 모른다고 포기하거나 당황하지 않고 알고있는 것에서 최대한 활용해보아야겠다.

profile
항상 피곤한 인서의 개발블로그

0개의 댓글