코드 처리하기

JunpyoAhn·2023년 12월 19일
1
post-thumbnail

프로그래머스 코드처리하기

해설

  • mode에 따라 code를 읽어가면서 문자열을 만들어준다.
    for (let idx = 0; idx < code.length; idx += 1) {}
  • 문자열 code를 앞에서부터 읽으면서 만약 문자가 "1"이라면 mode를 바꿔준다.

     if (code[idx] === "1") {
         mode = mode === 0 ? 1 : 0;  // code[idx]가 "1이면 0 -> 1 아니면 0
         continue;
  • mode가 0일 때 code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.
  • code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다.
  • mode가 1일 때 code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.
  • code[idx]가 "1"이면 mode를 1에서 0으로 바꿉니다.
  if (mode === 0) {
      if (idx % 2 === 0) { // 짝수 일 경우 
        ret += code[idx];
      }
    } else {
      if (idx % 2 === 1) { // 홀수 일경우 
        ret += code[idx];
      }
    }
    
    

if문으로 mode가 짝수 일 경우 홀수일 경우 나눠서 ret에 할당해주었다. 그 후 만들어진 문자열을 return 해주고 변수 ret이 빈 문자열일 경우 "EMPTY"을 리턴해주는 문제이다.

느낀점

문제파악하는데 한참 걸렸다. 로직은 별것 없지만 항상 느끼는 문제 독해의 난해함
적응 할 수 있도록 좀 더 난이도 있는 문제를 차차 풀어가야할 듯 싶다.

0개의 댓글