[프로그래머스] Lv.0 문자열 밀기

Jenny·2023년 2월 22일
0

ProblemSolving

목록 보기
3/14
post-thumbnail

1. 문제

문제

2. 해결

function solution(A,B) {
    let count = 0
    // 1) A랑 B랑 같으면 0 반환 
    if ( A === B ) return 0;
    
    // A의 요소를 움직이기 위해 배열화
    A = A.split("")
    
    // A 순회
    while(count < A.length) {
    
        // 2) A랑 B랑 다르면 A의 마지막 값을 A의 맨 앞에 넣어주고
        A.unshift(A.pop())
       
        // count 값 증가
        count++
        
        // 3) 같아졌으면 count 값 반환
        if(A.join("") === B) return count
        
    }
    // 같아질 수 없다면 -1 반환
    return -1
}

3. 정리

split

  • 문자열을 배열로
let arr = A.split("");
//또는
A = A.split("");

join

  • 하나의 문자열로
A.join(""); //그냥 이어줌
A.join(); // ,로 이어줌
A.join('-') // -로 이어줌

splice

  • 원본 배열을 바꿈에 유의 (<-> slice는 원본 배열 변경 x)
//문제에서의 활용
let last = arr.splice(arr.length-1,1)[0]

//사용 예시
// 배열 0 ~ 2번째까지 잘라서 반환
const nums = [0,1,2,3,4];
let numSlice = num.splice(0,3);
console.log(numSlice); // [0,1,2]
console.log(nums); //[3,4]
profile
Developer로의 여정

0개의 댓글