본문 바로가기
Javascript/자바스크립트 문제

[Javascript : programmers] 문자열 밀기 (Lv.0) ⭐

by isfp_yykkng 2024. 8. 30.

[Javascript : programmers] 문자열 밀기 (Lv.0) ⭐

 

문제

 

나의 정답 풀이

function solution(A, B) {
    let count = 0;
    for(let i=0; i<A.length; i++){
        if(A == B) return count;
        A = [A.slice(A.length-1), ...A.slice(0,A.length-1)].join('');
        count++;
    }
    return -1;
}

 

A를 슬라이싱을 통해서 제일 뒤에 문장을 앞으로 가져왔고 그 문장과 B를 비교하여 count 를 추가했다.

이렇게 for 문을 도는 동안 return 이 안나왔다면 없는 것이기 때문에 -1을 반환한다.

 

다른 사람 풀이 ⭐

let solution=(a,b)=>(b+b).indexOf(a)

 

문자열 B를 2개 이어놓은 문장에 대해서 A 문자열이 있는 인덱스를 찾아 반환한다.

 

문제의 예시 hello 를 예시로 들면, ohellohell 의 문자열에서 hello의 문자열은 1번째에 있다.

방법에 대한 설명은 아래 유튜브를 참고하면 더 좋을 것 같다.. 이런 풀이는 정말 신선하다....


<참고>

문자열 밀기 알고리즘 참고

https://www.youtube.com/watch?v=HwpF73JJC8s&list=PLkfUwwo13dlWZxOdbvMhkzhAowaiEjuGS&index=31

 

문자열 자르기

2024.08.07 - [Javascript/자바스크립트 문법] - [Javascript] 문자열 자르기 (substr, substring, slice)

 

[Javascript] 문자열 자르기 (substr, substring, slice)

[Javascript] 문자열 자르기 (substr, substring, slice)문자열 자르기 : substr형식) String.substr( "시작인덱스" , "자를 길이" ) 시작 인덱스부터 해당 길이만큼 자르는 함수이다. "길이" 부분을 생략하면 시

yy-kkang.tistory.com