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

KUKJIN LEE • 2일 전 작성
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 메서드 사용