Header Banner
GG Logo

Future Engineering

기술의 최전선을 기록합니다.

기술 자료/Algorithm/프로그래머스 왼쪽 오른쪽 문제 풀이

프로그래머스 왼쪽 오른쪽 문제 풀이

Algorithm5개월 전
function solution(str_list) {
    for (let i = 0; i < str_list.length; i++) {
        if (str_list[i] === "l") {
            return str_list.slice(0, i); // "l"의 왼쪽 반환
        } else if (str_list[i] === "r") {
            return str_list.slice(i + 1); // "r"의 오른쪽 반환
        }
    }
    return []; // "l"이나 "r"이 없다면 빈 리스트 반환
}

문제의 핵심은 str_list에서 "l" 또는 "r" 중 먼저 나오는 것을 기준으로, "l"이면 그 이전 요소들, "r"이면 그 이후 요소들을 반환하는 것입니다.

 

🔍 설명:

  • for 루프로 리스트를 순차 탐색하면서 "l" 또는 "r"을 찾습니다.

  • "l"을 먼저 만나면, 해당 인덱스 이전까지 잘라서 반환합니다. slice(0, i)

  • "r"을 먼저 만나면, 해당 인덱스 이후부터 끝까지 잘라서 반환합니다. slice(i + 1)

  • 둘 다 없다면 빈 리스트를 반환합니다.

 

💡 포인트

  • slice 메서드 사용