Programmers Coding test/반복문 유형

[프로그래머스] 수 조작하기1 : for 반복문, switch 조건문

Lethargin 2023. 5. 8. 12:46

문제1.


답안1) switch 조건문 + for 반복문

function solution(n, control) {
  for (let i = 0; i < control.length; i++) {
    switch (control[i]) {
      case "w":
        n += 1;
        break;
      case "s":
        n -= 1;
        break;
      case "d":
        n += 10;
        break;
      case "a":
        n -= 10;
        break;
    }
  }
  return n;
}

-control[i]에 대해서 swtich 조건문을 실행 : control[i]="w"이면 +1, control[i]="s"이면 -1 .. 의 식으로 할 예정

-이 i에 대해서 for 반복문을 돌림: 예를 들어 "wsdawsdassw"라면? 반복을 control.length만큼 돌림

* n+=1이랑 n-=1은 n++, n--로 표기할 수도 있음

 

 

답안2) for ~ of 반복문 (for ~ in 반복문은 오답)

function solution(n, control) {
    var answer = n;

    for(let i of control){
        if(i == "w"){
            n += 1;
        }
        else if(i == "s"){
            n -= 1;
        }
        else if(i == "d"){
            n += 10;
        }
        else if(i == "a"){
            n -= 10;
        }
    }

    return n;
}
  • for ~ in 반복문은 인덱스값(0, 1, 2, ...)을 출력하고, for ~ of 반복문은 각 요소(w, s, d, a, ...)를 출력하기 때문에 for ~ of 반복문만 가능한 것 같음