💭 Issues
- 무엇을 반복할 것인가?
- 원하는 출력값은 무엇인가?
- 반복할 조건은 무엇인가?
- 조건에 걸릴 경우/ 벗어날 경우마다 무엇을 리턴할 것인가?
자연의 팽이는 스스로 멈추지만,
코드 속 팽이는 신호를 줘야한다.
윙가르디움 레비오사라든지, 주문을 외워야 한다.
그렇지만 돌긴 돈다!
while은 초기값, 증감문이 필요없을 때 쓴다.
for문의 사용법때문에 자꾸 헷갈리는 지점 같은데,
while속 반복될 내용은 알아서 그냥 알아서 돈다!
어떤 수를 입력받아 그 수가 홀수인지 그 여부를 리턴하는 함수를 선언하라.
Error ver. function isOdd(num) { if (num<0) { num = -num } if (num===0) { return false } ~~ let i = 0 ; while(num>=0) { num = num - i*2; i++; } if (num === 1) { return true; }~~ }
무엇이 무엇이 잘못되었을까?
correcting ver. while(num >= 0){ (..) num = num -2 }
정답을 쓸 수는 없으니, 힌트만 (나를 위해) 제공한다.
제발, while은 알아서 돈다고!
참고만 하기. for 아니고 if와 while을 비교..
💡 What is difference between if statement and while loop?
don't over think it. what does if mean in the real world? a one-time decision. same in PHP. make a decision once, move onwards. what does while mean in the real world? "until some condition becomes satisified, continue doing this..." same in PHP. – Marc B Jan 30 '13 at 14:47 stackoverflow
✮ 팩토리얼(n!), 수열의 합(∑) 등 누적은 이중 loop로 해결되는 편이다(?)
예를 들어,
A. 문자열을 입력받아, 문자열의 첫 문자(글자)부터 한 문자씩 늘린 문자열을 모두 붙여 출력하는 함수를 선언하라.let output = functionblahblah('velog') = 'vvevelvelovelog'
B.
문자열을 서로 바꾸어 재출력하는 함수;
number 타입을 입력받아 소수를 모두 출력/ 약수의 합을 출력하는 함수;
두 수를 포함하여 그 사이의 소수(홀수 / ~~ anything can be)의 개수를 구하는 함수;
.. more
예제 A)
예제 B)
✮ 어떠한 반복적인 조건으로 새로운 문자열을 출력해야 할 때, 빈 문자열을 새로 변수에 선언 및 할당해서 넣어주면 어떨까?
✮ while은 초기값이나 조건이 필요없을 때 편하게 쓰면 된다. i의 도움 필요 없이 알아서 2씩 계속 뺄셈을 해주거나, 등등
반복문 응용 잘 하려면 어떻게 해야 할까요?
아래 두 가지 경우에 대해서 잘 설명할 수 있어야 합니다.
- 반복문에 if문 여러개 넣어서 잘 작동시키기
조건에 해당할 때만 반복하도록 for loop 내 if걸기 ↩︎- 반복문을 원하는 때 멈추고 (break), 진행시킬 수 있는지 (continue)
조건에 해당하지 않을 때 반복을 종료하여 최적화시킴 ↩︎