FrontEnd/프로그래머스

[JS] 왼쪽 오른쪽

728x90

indexOf의 특성을 활용해서 l과 r의 index를 구한 후, 그에 따라 더 앞선 값에 따라서 왼쪽 혹은 오른쪽으로 잘리게 해 두었고, l과 r이 없는경우는 따로 예외처리를 해주었다.

 

function solution(str_list) {
    const [l,r] = [str_list.indexOf('l') , str_list.indexOf('r')]
 
    if (l===-1 && r===-1) return []
    else if (l===-1) return str_list.slice(r+1)
    else if (r===-1) return str_list.slice(0,l)
    else return l<r ? str_list.slice(0,l) : str_list.slice(r+1)
}

 

 

 

그런데 indexOf라는 함수에 너무 갇혀있던 것 같다. 다른사람들의 풀이들을 보다가. for문으로 단순히 배열을 순회하면서 l혹은 r값이 나올때 처리를 해주는 로직을 보았는데 훨씬 깔끔하면서도 좋았다.

 

너무 내장함수에 의존하지 않고 반복문을 잘 활용해 봐야겠다..

728x90

'FrontEnd > 프로그래머스' 카테고리의 다른 글

[JS] 두 원 사이의 정수쌍  (1) 2023.05.16
[JS] 요격 시스템  (0) 2023.05.16
[JS] 배열만들기2  (0) 2023.05.04
[JS] 조건 문자열  (0) 2023.05.04
[JS] 정수 내림차순으로 정렬하기  (0) 2023.05.03