프로그래머스 풀이/level0
[Programmers] level 0) 문제 '문자열 밀기' 풀이
진기명기
2023. 4. 11. 07:06
🫠 Programmers (level 0)
👉🏻 문제 56번 (문자열 밀기) : 문자열 맨 뒤의 문자를 맨 앞으로 밀어, 요청하는 B의 값과 같다면 1, 안되면 -1, 밀지 않아도 B가 나온다면 0 반환
function solution(A, B) {
// A와 B의 값이 처음부터 같다면 0
if(A === B) return 0
// A를 배열로 생성
let array1 = A.split('')
// A를 한 바퀴 순회하여 B와 같은지 확인
let i = 0
let result = 0
while(1) {
if(i <= array1.length-1) { // A 길이만큼 한 바퀴 순회
array1.unshift(array1.pop())
if(array1.join('') === B) {
result = i + 1
break
}
}
i++
if(i == array1.length) { // A 길이만큼 순회했지만 B와 같지 않을 경우
result = -1
break
}
}
return result
}
✅ 확인할 점
💡 while문을 통해 돌려서 그런가.. 코드가 엄청 길어졌다..
💡 다른 사람의 풀이를 봤는데, 레전드다..(어이없어서 웃음만.. 나 뭐 한 거지..)
let solution=(a,b)=>(b+b).indexOf(a)
진짜 천재 너무 많다.. 😂 indexOf() 쓸 생각을 왜 못했냐고..!