알고리즘

프로그래머스 왼쪽 오른쪽 (JAVA)

박카스마시며코딩 2023. 5. 9. 23:16

https://school.programmers.co.kr/learn/courses/30/lessons/181890#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

저는 구현을 통해 문제를 해결하였습니다.

저는 시작 인덱스, 끝 인덱스를 활용하였습니다.

l인 경우 : 시작 인덱스 0, 끝 인덱스 해당 인덱스로 설정

r인 경우 : 시작인덱스 해당 인덱스+1,  끝 인덱스 str_list의 사이즈

이렇게 설정하고 startIndex부터 endIndex-1까지 차근차근 answer 배열에 넣어 문제를 해결하였습니다.

 

class Solution {
    
    private static final char LEFT = 'l';
    private static final char RIGHT = 'r';
    
    public String[] solution(String[] str_list) {
        int startIndex = 0;
        int endIndex = 0;
        int size = str_list.length;
        for(int i = 0 ; i < size ; i++){
            char ch = str_list[i].charAt(0);
            if(ch == LEFT){
                startIndex = 0;
                endIndex = i;
                break;
            }
            if(ch == RIGHT){
                startIndex = i+1;
                endIndex = size;
                break;
            }
        }
        String[] answer = new String[endIndex - startIndex];
        for(int i = startIndex ; i < endIndex ; i++){
            answer[i - startIndex] = str_list[i];
        }
        return answer;
    }
}