티스토리 뷰

문제설명

 

 

 

 

 

 

 

풀이

class Solution {
    public String solution(String code) {
        String ret = "";
        int mode=0;
        for(int i=0; i< code.length(); i++){  
            if(code.charAt(i)== '1'){ //문자가 1일때
                mode= 1-mode;  //모드변경 0이면 1로, 1이면 0으로
            }else if(i%2 == mode) ret +=code.charAt(i); 
        }
       
        return ret.length() == 0 ? "EMPTY" : ret;
    }
}

 

mode가 0일땐 짝수 인덱스의 문자를 ret에 추가

mode가 1일땐 홀수 인덱스의 문자를 ret에 추가

mode= 1-mode; //이 코드는 앞으로도 0과 1을 번갈아 사용해야할 경우 용이하게 쓸 것 같음

 

 

else if(i%2 == mode) ret +=code.charAt(i); // mode에 따라 알맞는 인덱스의 문자를 추가

 

return 에서는 삼항연산자를 사용하였습니다

 

삼항연산자가 궁금하시다면

 

 

 

 

 

시간복잡도

 

 O(N)

N은 입력 문자열 code의 길이

주어진 문자열 code를 한 번 반복하면서 각 문자를 처리하므로, 시간 복잡도는 입력의 크기에 선형으로 비례한다

각 반복에서 수행되는 연산은 상수 시간이 걸린다

 

 

 

결과 화면

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함