2020.01.13 TIL (반복문)

최영노·2021년 1월 14일
0

반복문이란?

같거나, 비슷한 코드를 여러 번 실행시켜야 할 경우에 쓰는 구문

ex)
let sum = 1;
sum = sum + 2
sum = sum + 3
sum = sum + 4

이 반복문의 조건은 다음과 같다.

1) 숫자(n)는 2부터 시작한다
2) 숫자(n)가 4가 될때까지 반복한다
3) 숫자(n)는 1씩 증가한다

for 구문

반복문의 for 구문으로 작성해보자면?

let sum = 1;
for(let n=2; n<=4; n++){
 sum = sum + n; 
}

이런 식으로 작성해 볼 수 있었다.

while 구문

반복문의 while 구문으로 작성해보자면?

let sum = 1;
let n = 2;

while(n<=4){
  sum = sum+n;
  n = n+1;
}

while 구문은 초기화, 증감문은 따로 작성하고, 조건식만 괄호 안에 넣는것이 중요하다!

(사실 for 구문은 이제 코딩을 칠때 능숙하게 칠 수 있겠는데 while 구문은 자신이 없다.. 잘 머릿속에 들어오질 않는다 ㅜ..)

코플릿 문제

문제

문자열과 수를 입력받아 반복된 문자열을 리턴해야 합니다

입력

인자 1: str

  • string 타입의 문자열

인자 2: num

  • number 타입의 정수 (num >= 0)

출력

  • string 타입을 리턴해야 합니다

주의 사항

  • 반복문 (for) 을 사용해야 합니다.
  • 0을 입력받은 경우, 빈 문자열을 리턴해야 합니다.

정답 코드 :

function repeatString(str, num) {

  let result = ''
  if (str === '') {return ''}
  for (let n=1; n<=num; n++) {
  result = result + str
  }
  return result
}

여기서 드는 의문점...

for (let n=1; n<=num; n++) {
result = result + str }

여기서 분명, result = result + str <- 이 수식에 n의 인자가 들어가질 않았는데 어떻게 str이 n 만큼 반복되는 것인지..? 따라서 이 부분을 help desk 에 물어봐야겠다는 생각을 했다.

(help desk 답변을 보고 지금은 해결되었다!)

help desk 답변.

안녕하세요. @zerono7135 님,

for loop의 대한 이해가 부족한 상황에서 충분히 나올 수 있는 질문이라고 보여집니다 :)
for (let n=1; n<=num; n++) 이 부분은 정의된 n을 보고 다음에 올 { result = result + str } 이 블록을 몇번 반복할 지 정해주는 부분입니다. 그래서 {}안에서 n을 참조하지 않더라도 for문이 이를 알고 있기때문에 반복이 일어날 수 있습니다.

아래 링크 참고용으로 올려드립니다. :)
#2315

추가질문 있으시면 쓰레드로 달아주세요~

profile
개발자를 꿈꾸는 한 사람

0개의 댓글