{
function func(){
let a = [1,2,3,4,5,6,7,8,9]; //a의 값 중 2의 배수(짝수)일 때 cnt의 값이 1씩 증가된다.
cnt = 0; //만약 a[1]일 때 2%2==0이 성립되므로 cnt = 0+1 즉 1이 된다.
for( i=0; i<a.length; i++){ //다시 a[3]일 때 4%2==0이 성립되므로 cnt = 1+1 즉 2가 된다.
if(a[i]%2 == 0){ //이렇게 반복하게 되면 값은 4가 나오게 된다.
cnt += 1;
}
}
document.write(cnt)//정답 : 4
}
func();
}
{
function func(){
let i = 0; //for문에서는 초기값은 무조건 실행하고 그 뒤 조건에 맞을 때 마다 실행된다.
let j = 0; //때문에 j값이 출력이 되면 i도 반복을 멈추게 된다. 여기서 j는 i가 8일 때 최종값이 나오므로 값은 36이 된다.
for(i=0; i<=8; i++){
j += i; //이 때 i는 j= 36 + 9 에서 반복이 멈추기 때문에 더이상 j값을 구하지 않고 종료된다. 때문에 i값은 9가 된다.
}
document.write(j + i) //정답은 36 + 9가 되므로 값은 45가 나오게 된다.
}
func();
}
{
//while문의 조건에서 a값이 10보다 작을 경우 a를 1씩 증가시키고 조건식에 들어간다.
//즉 0123456789까지 while의 조건에 충족하므로 1씩 증가시켜 12345678910을 불러온다.
//이 값을 조건식에 대입한 뒤 홀수값을 제외(continue : 해당 조건의 값을 출력하지 않고 건너 뜀)한 나머지 값을 모두 합한다.(2+4+6+8+10)
//최종값 a가 10일 때 sum = 20 + 10이 되므로 정답은 30이 된다.
function func(){
let a=0;
let sum=0;
while(a<10){
a++;
if(a%2==1) continue;
sum+=a
}
document.write(sum); //정답 : 30
}
func();
}
{
//while문에서 (0)은 false이기 때문에 조건식이 실행되지 않는다. 즉 초기값인 0이 정답이 된다.
//반대로 while(1)은 true이다. 늘 이런 훼이크 조심..! ㅜㅜ
function func(){
let a=0;
let sum=0;
while(0){
a++;
if(a%2==1) continue;
sum+=a;
}
document.write(sum); //정답 : 0
}
func();
}
{
//arrData에 arrSubject값을 저장한 뒤 그 길이만큼 반복시킨다.(4번반복)
// 1번 반복할 때 Number메서드를 통해 arrSubject의 문자열을 숫자로 변환시킨다.(arrSubject[0]==100)
// 즉 result의 값은 340
function test(arrData){
let result = 0;
for( let i=0; i<arrSubject.length; i++){
result+=Number(arrSubject[i]);
}
let num = result;
return num;
}
let arrSubject = ["100","90","80","70"];
let result = test(arrSubject);
document.write(result); //정답 : 340
}
{
//매개변수를 통해 s에 str값 저장 후 함수 실행
//for of를 통해 x에 s값 저장
//조건식 : 만약 x에서 문자열 w가 아닐 경우 #으로 변환 후 answer에 저장한다. (!= 아닌 경우 / == 맞을 경우)
//w가 맞다면 그대로 저장한다. 즉 정답은 w##########
function func(s){
let answer = "";
for(let x of s){
if(x!='w') answer +='#';
else answer += x;
}
return answer;
}
let str = "webstoryboy";
document.write(func(str)); // 정답 : w##########
}
{
//위와 마찬가지로 각각 매개변수를 저장
//만약 x에서 t가 아닐 경우 answer의 값이 1씩 증가.
//즉 t를 제외한 값의 갯수를 구하면 된다. websoryboy == 10
function func(s, t){
let answer = 0;
for(let x of s){
if(x !== t) answer++;
}
return answer; //정답 : 10;
}
let str = "webstoryboy";
document.write(func(str, 't'));
}
{
//매개변수 사용
//만약 x가 대문자라면 소문자로 변환하여 answer에 저장
//대문자가 아닌경우 대문자로 변환하여 answer에 저장
//return을 사용하여 종료후 answer값 출력.
function func(s){
let answer = "";
for(let x of s){
if( x === x.toUpperCase()){
answer += x.toLowerCase();
}else{
answer += x.toUpperCase();
}
}
return answer; //정답 : WEBsTORboy10
}
document.write(func("webStorBOY10"));
}
{
//매개변수 사용
//필터를 사용하여 요소 중 짝수인 경우 (divisor == 2) 새로운 배열로 반환한다.
//즉 div = [2, 4]가 되며 이때 div의 길이값이 0보다 클 때 참인 경우 배열을 오름차순으로 정렬 거짓인 경우 각 값에 -1을 해준다.
//2>0으로 참이기 때문에 오름차순으로 정렬. 즉 2, 4가 answer에 저장된다.
function solution(arr, divisor){
var answer = [];
const div = arr.filter(el => el % divisor == 0);
answer = div.length > 0 ? div.sort((a,b) => a-b) : [-1];
return answer; //정답 : 2, 4
}
document.write(solution([1,2,3,4,5], 2));
}
{
//매개변수 사용. 즉 n = 10이 된다.
//i가 1일 때 i가 10보다 작은 경우 조건식 실행을 반복한다.
//이때 조건식이 10 % i ===1인 경우 리턴 즉 종료하기 때문에 나머지 값이 1이 나오는 i=3에서 종료하게 된다.
//i값을 호출했으므로 정답은 3이 된다.
function solution(n){
for( let i=1; i<n; i++){
if(n%i===1) return i; //정답 : 3
}
}
document.write(solution(10));
}