라라리라

2023.07.26 / Step 3 [조건문] - 코딩 7 일차 본문

코딩/2023 JavaScript Console

2023.07.26 / Step 3 [조건문] - 코딩 7 일차

헤실 2023. 7. 26. 19:47

조건문1_개념01_랜덤.html

 

<script>

 // 0 < Math.random() < 1
 let num = Math.random();

document.write("Math.random() = " + num + "<br>");
document.write("Math.random() * 3  = " + num * 3 + "<br>");
document.write("Math.floor(Math.random() * 3) = "
+ Math.floor(num * 3));

/*
    0.0xx                   0.0xx                           0
    0.1xx                   0.3xx                           0
    0.2xx                   0.6xx                           0
    0.3xx                   0.9xx                           0
    0.4xx        *  3       1.2xx      Math.floor()         1
    0.5xx                   1.5xx                           1
    0.6xx                   1.8xx                           1
    0.7xx                   2.1xx                           2
    0.8xx                   2.4xx                           2
    0.9xx                   2.7xx                           2
*/


</script>

 


조건문1_개념02_랜덤.html

 

<script>

    // 랜덤
    let 랜덤 = Math.random();
    console.log(랜덤);
    document.write(랜덤 +"<br>");


    // 만약에 0~2사이의 값을 뽑는다면,

    랜덤 = 랜덤 * 3
    console.log(랜덤);
    document.write(랜덤+"<br>");

    랜덤 = Math.floor(랜덤);
    console.log(랜덤);
    document.write(랜덤+"<br>");
// 위아래 같음
    랜덤 = Math.floor(Math.random() * 3);
    console.log(랜덤);
    document.write(랜덤+"<br>");

    console.log("-------------------------");
    document.write("-------------------------<br>");
   
    // 예) 1~6 주사위
 
    주사위 = Math.random() * 6 + 1 ;
    주사위 = Math.floor(주사위);
    console.log(주사위);
    document.write(주사위 + "<br>");

    // 예) -3 ~ 3 사이의 랜덤값
 
    rs = Math.random() * 7 - 3
    rs = Math.floor(rs);
    console.log(rs);
    document.write(rs+"<br>");
   
 

</script>

 


조건문1_개념02_조건문.html

 

<script>

    /*
        [조건문] : if
        조건문이란 기존의 비교연산자나 논리연산자를 사용해서
        true, false를 표현했는데,
        표현을 좀 더 확장하고 싶을 때 사용한다.
    */
    /*  
        [문법]
            1) if  ==> 키워드
            2 (조건) ==> 조건이 사실이면 실행
            3) {실행영역}



            문제
            a = 10  
            b = 20
           
       
           
    */
    let a = 10
    let b = 20


    //문제1 a가 10일때 "a는 10이다" 출력
    if (a == 10)
    {console.log("a는 "+ a +"이다")
    document.write("a는 "+ a +"이다<br>")}
    //문제2 b가 10보다 클때 "b는 10보다 크다" 출력
    if (b > 10)
    {console.log("b는 10보다 크다")
    document.write("b는 10보다 크다<br>")}    
    //문제3 b가 10 보다 작을때 출력 X
    if (b < 10)
    {console.log("b는 10보다 작다")
    document.write("b는 10보다 작다<br>")}

</script>

 


조건문1_개념03_로그인.html

 

<script>


let joinId = "qwer1234"
let joinPw = "1234qwer"

let logId = "qwer1234"
let logPw = "1234qwre"

if(joinId == logId && joinPw == logPw)
{console.log("로그인 성공");
document.write("로그인 성공<br>");}

if(joinId != logId || joinPw != logPw)
{console.log("로그인 실패ㅋ");
document.write("로그인 실패ㅋ<br>");}

//신기하네
</script>

 


조건문1_문제01_가까운수.html

 

<script>


/*
        [문제]          
            a는 1  ~ 9  사이의 랜덤 숫자를 저장한다.
            c는 11 ~ 20 사이의 랜덤 숫자를 저장한다.
            a와 c중 어떤 숫자가 b와 더 가까운지 출력하시오.
       
            [1] a가 c보다 가까우면 "a가 가깝다."
            [2] c가 a보다 가까우면 "c가 가깝다."
            [3] 서로 거리가 같으면 "서로 같다."
    */

    let a = Math.floor(Math.random() * 9 + 1);
    let c = Math.floor(Math.random() * 10 + 11);

    console.log("a값 = "+ a);
    console.log("c값 = "+ c);
    document.write("a값 = "+ a +"<br>");
    document.write("c값 = "+ c +"<br>");

    let b = 10;

    let a차이 = b - a;
    let c차이 = c - b;

    console.log("a와의 거리 = "+a차이);
    document.write("a와의 거리 = "+a차이 +"<br>");

    console.log("c와의 거리 ="+c차이);
    document.write("c와의 거리 ="+c차이 + "<br>");
   
    //a가 c보다 가까우면 "a가 가깝다";
    if(c차이 > a차이){
        console.log("a가 가깝다");
        document.write("a가 가깝다<br>");
    }
    //c가 a보다 가까우면 "c가 가깝다";
    if(a차이 > c차이){
        console.log("c가 가깝다");
        document.write("c가 가깝다<br>");
    }
    //서로 거리가 같으면 "서로 같다"
    if(a차이 == c차이){
        console.log("서로 같다");
        document.write("서로 같다<br>");
    }





</script>

 


조건문1_문제02_동전.html

 

<script>



/*
        [문제]
            동전의 앞과 뒤를 랜덤숫자 0 또는 1로 표현한다.
            동전 두 개를 던져서 둘 다 "앞"이면 "정답",
            둘 다 "뒤"이어도 "정답"이다.
            둘 중 하나라도 반대면 "꽝"을 출력하시오.
    */


    let a = Math.floor(Math.random() * 2);
    let b = Math.floor(Math.random() * 2);
   

    if(a == 0){
        console.log("뒤");
        document.write("뒤<br>");
    }
    if(b == 0){
        console.log("뒤");
        document.write("뒤<br>");
    }



    if(a == 1){
        console.log("앞");
        document.write("앞<br>");
    }
    if(b == 1){
        console.log("앞");
        document.write("앞<br>");
    }
   



    if(a == b) {
        console.log("정답");
        document.write("정답<br>");
    }
    if(a != b){
        console.log("꽝!");
        document.write("꽝");
    }


</script>

 


조건문1_문제03_숫자비교.html

 

<script>



/*
        [문제]
            1부터 100 사이의 숫자 두 개를 랜덤으로 저장한다.
            두 숫자 중 더 큰 숫자를 출력하시오.
            단, 서로 같으면 "같다"를 출력하시오.
    */

    let a = Math.floor(Math.random() * 100 + 1);
    let b = Math.floor(Math.random() * 100 + 1);

    console.log(a);
    console.log(b);


    if(a > b){
        console.log("a =" + a);
        document.write("a =" + a +"<br>");
    }

    if(a < b){
        console.log("b =" + b);
        document.write("b = " + b +"<br>");
    }

    if(a == b){
        console.log("같다");
        document.write("같다<br>");
    }
</script>

 


조건문1_문제04_주사위두개.html

 

<script>



/*
        [문제]
            철수는 주사위 2개를 가지고 있다.
            주사위는 눈금이 1~6까지 있다.
            철수가 주사위 2개를 던졌을 때 그 합을 출력하시오.
            단, 주사위 눈금이 서로 같으면 6을 추가로 더하시오.
       
            [예]
                1, 2 ==> 3
                1, 1 ==> 2 + 6
    */


    let a = Math.floor(Math.random() * 6 + 1);
    let b = Math.floor(Math.random() * 6 + 1);



    let = a + b

    console.log(a + ", " + b);
    document.write(a + ", " + b +"<br>");
   

    if(a == b){
        console.log("서로 같다 " );
        document.write("서로 같다<br> " );
        = + 6
    }
    console.log();
    document.write();
   

   

</script>

 


조건문1_문제05_큰수작은수.html

 

<script>

 /*
        [문제]
            1부터 10 사이의 랜덤 숫자 두 개를 출력한다.
            하나는 반드시 1~5 사이의 숫자이어야 하고,
            나머지 하나는 반드시 6~10 사이의 숫자이어야 한다.
            출력순서도 랜덤으로 출력되어야 한다.
       
            [예1]
                3, 6
            [예2]
                8, 1
    */


    let a = Math.floor(Math.random() * 5 + 1);
    let b = Math.floor(Math.random() * 6 + 6);

    console.log(a + ", " + b);
    document.write(a + ", " + b + "<br>");

    let 순서 = Math.floor(Math.random() * 2);

    console.log(순서);
    document.write(순서+ "<br>");



        if(순서 == 0){
        console.log(a + ", " + b);
        document.write(a + ", " + b +"<br>");
    }

        if(순서 == 1){
            console.log(b + ", " + a);
            document.write(b + ", " + a + "<br>");
        }
   


</script>

 


조건문1_문제06_할인.html

 

<script>


/*
        [문제]
            철수는 볼펜을 10~30개를 구입해야 한다.
           
            볼펜 하나의 가격은 1200원이다.    
            볼펜은 20개 이상 구매 시 볼펜 한 개에 100원을 할인해주고 있다.
               
            볼펜 수를 랜덤으로 저장하고,
            철수가 지급해야 하는 금액을 출력하시오.
            [예]
                볼펜 수 = 22
                지급 금액 = 22 * 1100 = 24200
    */

    let a = Math.floor(Math.random() * 21 + 10);
    let 볼펜가격 = 1200;

    console.log(a);

   

    if(a >= 20){
        볼펜가격 = 볼펜가격 - 100;
        console.log("할인");
        document.write("할인<br>");
    }

    let 지급액 = 볼펜가격 * a;
   
    console.log(지급액);
    document.write(지급액+"<br>");





</script>

 


조건문2_개념01_도화지.html

 

<script>

 /*
        [문제]
            민수네 반 학생은 26명이다.
            민수네반 학생들에게 도화지를 두 장씩 나누어 주려고 한다.
            도화지는 열장씩 묶음으로만 판매하고 열장에 1200원이다.
            총 얼마가 필요한지 구하시오.
        [정답]
            7200원
    */

    let 학생수 = 26;
    let 필요한도화지 = 학생수 * 2;

    let 도화지수 = 10;
    let 도화지가격 = 1200;

    let 필요한도화지묶음 = parseInt(필요한도화지 / 도화지수);
    if(필요한도화지 % 도화지수 > 0){
        필요한도화지묶음 = 필요한도화지묶음 + 1;
    }

    let 총금액 = 필요한도화지묶음 * 도화지가격;
    console.log(총금액);
    document.write(총금액);
   
</script>

 


조건문2_개념02_짝수홀수.html

 

<script>

/*
        [문제]
            a 변수에 1부터 10 사이의 랜덤 숫자를 저장하고,
            "짝수" 또는 "홀수"를 출력하시오.
    */

    let a = Math.floor(Math.random() * 10 + 1);
   
    console.log(a);
    document.write(a+"<br>");
   
    if(a % 2 == 0){
        console.log("짝수");
        document.write("짝수<br>");
    }

    if(a % 2 == 1){
        console.log("홀수");
        document.write("홀수<br>");
    }



</script>
 

 


조건문2_개념03_페이징.html

 

<script>


/*
        [문제]
            1 ~ 200 사이의 랜덤숫자를 저장하고 다음과 같이 출력하시오.
           
            랜덤 숫자가
            1~10        사이 값이면, 1
            11~20       사이 값이면, 11
            21~30       사이 값이면, 21
            ...........................
            101 ~ 110   사이 값이면, 101
           
            [예]
                5   ==> 1
                10  ==> 1
                11  ==> 11
                20  ==> 11
                24  ==> 21
                30  ==> 21
                104 ==> 101
                154 ==> 151
    */

    let a = Math.floor(Math.random() * 200 + 1);

    console.log(a);
    document.write(a+"<br>");

    /*
   
    페이징
    a = 147 % 10 = 7
    147 - 7 + 1 = 141

    페이징2
    a = 150
    150 - 10 + 1
    141
   
    */
    let rs = 0;

    if(a % 10 == 0){
    rs = a - 10 + 1
    }

    if(a % 10 != 0){
    rs = a - a % 10 + 1
    }

    console.log(rs);
    document.write(rs+"<br>");
   


</script>

 


조건문2_개념04_자리수.html

 

<script>


/*
        [자리수]    
            [1] 10000~90000 사이의 랜덤 숫자 저장한다.
            [2] 랜덤 숫자의 백의자리 숫자를 출력하시오.
            [예]
                [랜덤] ==> 24912
                [출력] ==> 9
    */


    let a = Math.floor(Math.random() * 80001) + 10000;

    console.log(a);
    document.write(a+"<br>");
   
    let b = parseInt(a % 1000 / 100);

    console.log(b);
    document.write(b+"<br>");



</script>

 


조건문2_개념05_중괄호생략.html

 

<script>



/*
      조건문의 범위에 해당하는 {} 중괄호를 생략할 수 있다.
      단, 한줄만 허용되며
         정확한 코딩습관을 위해 사용하지 않는 것이 좋다.
    */

     let a = 10;
     if(a == 10){
        console.log("a = " + a);
        document.write("a = " + a +"<br>");
     }

     let b = 20;
     if(b == 21)
     document.write("b = " + b + "<br>");
     //중괄호 생략은 한줄짜리만 가능!

</script>

 


조건문2_문제01_배수.html

 

<script>


/*
        [문제]
            변수에 1부터 100 사이의 랜덤 숫자를 저장한다.
            저장한 숫자의 값이 4의 배수이면 true
            4의 배수가 아니면 false 출력하시오.
    */

    let a = Math.floor(Math.random() * 100 + 1);


    if(a % 4 == 0){
        console.log("true");

        document.write("true<br>");
    }

    if(a % 4 != 0){
        console.log("false");
        document.write("false<br>");
    }

   
</script>

 


조건문2_문제02_약수.html

 

<script>

/*
    [문제]
      변수에 1부터 10 사이의 숫자를 랜덤으로 저장한다.
      저장한 숫자의 값이 300의 약수이면 true
      300의 약수가 아니면 false를 출력하시오.
  */


  let a = Math.floor(Math.random() * 10 + 1);
console.log (a);
document.write("랜덤 값 =" + a + "<br>");

if(300 % a == 0){
    console.log("true");
    document.write("true<br>");
}
if(300 % a !=0){
    console.log("false");
    document.write("false");
}


</script>

 


조건문2_문제03_오이.html

 

<script>

/*
        [문제]        
            마트에서 오이를 3개씩 묶어서 1500원에 판매한다.
            오이가 14개 필요하다면,
            필요한 금액을 출력하시오.
            단, 오이는 묶음으로만 판매한다.
        [정답]
            7500
    */

    let 필요한오이 = 14
    let 오이묶음 = 3
    let 오이묶음가격 = 1500

    let 필요묶음수 = parseInt(필요한오이 / 오이묶음);
    if(필요한오이 % 오이묶음 > 0){
    필요묶음수 = parseInt(필요한오이 / 오이묶음) + 1;
    }
   
    let 필요액수 = 필요묶음수 * 오이묶음가격;

    console.log(필요액수);
    document.write(필요액수+"<br>");




</script>

 


조건문2_문제04_옷구매.html

 

<script>

/*
        [문제]
            철수는 상점에서 24600원짜리 옷을 구매했다.
            500원짜리 동전으로만 옷값을 낸다면,
            동전이 몇 개 필요한지 구하시오.
        [정답]
            50
    */


    let 옷값 = 24600

    rs = parseInt(옷값/500);
    if(옷값 % 500 != 0){
    rs = rs + 1;}

    console.log(rs);
    document.write(rs +"<br>");






</script>

 


조건문2_문제05_이상한숫자.html

 

<script>


/*
    [문제]
      1부터 100 사이의 랜덤 숫자를 변수 a에 저장한다.
      a의 값이 1부터  5   사이이면,  num에 1을  저장한 후 출력하시오.
      a의 값이 6부터  10  사이이면,  num에 6을  저장한 후 출력하시오.
      a의 값이 11부터 15  사이이면,  num에 11을 저장한 후 출력하시오.
      a의 값이 16부터 20  사이이면,  num에 16을 저장한 후 출력하시오.
      ...
      ...
      a의 값이 96부터 100 사이이면,  num에 96을 저장한 후 출력하시오.
  */


    let a = Math.floor(Math.random() * 100 + 1);

    console.log("랜덤숫자" + a);
    document.write("랜덤숫자" + a+"<br>");

    let rs = 0
    if(a % 5 > 0){
       rs = a - a % 5 + 1
    }
    if(a % 5 == 0){
      rs =  a - 5 + 1
    }

    console.log(rs);
    document.write(rs+"<br>");


    console.log("==========================================");
    document.write("=========================================<br>")

    //다른방법

    rs2 = parseInt(a / 5);
    if(a % 5 == 0){
        rs2 = rs2 - 1
    }

    rs2 = rs2 * 5 + 1;
    console.log(rs2);
    document.write(rs2+"<br>");
   


</script>

 


조건문2_문제06_일주일.html

 

<script>

/*
        [문제]
            이번 달 1일이 수요일이라고 할 때,
            랜덤으로 1~31을 저장하고 해당 요일을 출력하시오.
       
            [예]
            3일 ==> 금요일
    */

    /*
        월      화      수      목      금      토      일
                        1       2       3       4       5
        6       7       8       9       10      11      12
        13      14      15      16      17      18      19
        20      21      22      23      24      25      26
        27      28      29      30      31
    */


    let a = Math.floor(Math.random() * 31 + 1);

    console.log(a);
    document.write("오늘날짜<br>" +a + "<br>");

    if((a + 7) % 7 == 1){
        console.log("수요일");
        document.write("수요일");
    }

    if((a + 7) % 7 == 2){
        console.log("목요일");
        document.write("목요일");
    }

    if((a + 7) % 7 == 3){
        console.log("금요일");
        document.write("금요일");
    }

    if((a + 7) % 7 == 4){
        console.log("토요일");
        document.write("토요일");
    }

    if((a + 7) % 7 == 5){
        console.log("일요일");
        document.write("일요일");
    }

    if((a + 7) % 7 == 6){
        console.log("월요일");
        document.write("월요일");
    }

    if((a + 7) % 7 == 0){
        console.log("화요일");
        document.write("화요일");
    }

</script>

 


조건문2_문제07_자리숫자합.html

 

<script>

/*
        [문제]      
            [1] 10000~90000 사이의 랜덤 숫자 저장한다.
            [2] 앞에서부터 두 번째 자리와 네 번째 자릿수의 합을 출력하시오.
       
            [예]
                랜덤숫자 : 57249
       
                두 번째 자릿수 : 7
                네 번째 자릿수 : 4
                합 : 11
    */

    let a = Math.floor(Math.random() * 80001 + 10000);

    console.log("출력숫자 =" + a);
    document.write("출력숫자 =" + a + "<br>" );

    let 두번째자릿수 = parseInt(a % 10000 / 1000);
    let 네번째자릿수 = parseInt(a % 100 / 10);

    console.log("두 번째 자릿수 = " + 두번째자릿수);
    document.write("두 번째 자릿수 = " + 두번째자릿수 + "<br>");

    console.log("네 번째 자릿수 = " + 네번째자릿수);
    document.write("네 번째 자릿수 = " + 네번째자릿수 + "<br>");



    합계 = 두번째자릿수 + 네번째자릿수;

    console.log("합계 = " + 합계);
    document.write("합계 = " + 합계 + "<br>");



</script>

 


조건문2_문제08_주6일.html

 

<script>

/*
        [문제]      
            철수는 최근 무인도를 구입하고, 그 나라의 왕이 되었다.
            평소 월요병이 있던 철수는 일주일에서 월요일을 삭제하였다.
            만약 이번 달 1일이 일요일일 때, 랜덤으로 1~31을 저장하고,
            해당 날짜의 요일을 출력하시오.
       
            [예]
                1 : 일요일
                2 : 화요일
                3 : 수요일
                4 : 목요일
                5 : 금요일
                6 : 토요일
                7 : 일요일
                8 : 화요일
                ...
   
    */


    let a = Math.floor(Math.random() * 31 + 1);
    console.log("오늘날짜 = " + a);
    document.write("오늘날짜 = " + a + "<br>");

    if((a + 6) % 6 == 1){
        console.log("일요일");3
        document.write("일요일<br>");
    }

    if((a + 6) % 6 == 2){
        console.log("화요일");
        document.write("화요일<br>");
    }

    if((a + 6) % 6 == 3){
        console.log("수요일");
        document.write("수요일<br>");
    }

    if((a + 6) % 6 == 4){
        console.log("목요일");
        document.write("목요일<br>");
    }

    if((a + 6) % 6 == 5){
        console.log("금요일");
        document.write("금요일<br>");
    }

    if((a + 6) % 6 == 0){
        console.log("토요일");
        document.write("토요일<br>");
    }



    let b = Math.floor(Math.random() * 31 + 1);

    let 요일 = " "

    if((b + 6) % 6 == 1){
        요일 = "일요일"
    }
    if((b + 6) % 6 == 2){
        요일 = "화요일"
    }
    if((b + 6) % 6 == 3){
        요일 = "수요일"
    }
    if((b + 6) % 6 == 4){
        요일 = "목요일"
    }
    if((b + 6) % 6 == 5){
        요일 = "금요일"
    }
    if((b + 6) % 6 == 0){
        요일 = "토요일"
    }

    console.log(b + " : " + 요일);
    document.write(b + " : " + 요일 + "<br>");


</script>

 


조건문2_문제09_페이징.html

 

<script>


/*
        [문제]
            랜덤 1~2000 사이의 숫자를 저장하고, 다음과 같이 출력하시오.
            랜덤 숫자가
            1   ~ 10    사이 값이면, 1
            11  ~ 20    사이 값이면, 2
            21  ~ 30    사이 값이면, 3
            ...
            101 ~ 110은 사이 값이면, 11
            ...
            1001 ~ 1010 사이 값이면, 101
    */

    let a = Math.floor(Math.random() * 2000 + 1);

    let 페이징 = 0;
    if(a % 10 == 0){
        페이징 = parseInt(a / 10);
    }
    if(a % 10 > 0){
        페이징 = parseInt(a / 10) + 1;
    }

    console.log(a + " : " + 페이징);
    document.write(a + " : " + 페이징 + "<br>");
// ===================================================================================
    페이징 = parseInt(a / 10);
    if(a  % 10 > 0){
        페이징 = 페이징 + 1
    }

    console.log(a + " : " + 페이징);
    document.write(a + " : " + 페이징);



</script>

 


조건문3_개념01_최대값.html

 

<script>


/*
        [최대값]
            [1] 숫자 3개를 랜덤으로 저장한다. (1~1000 사이의 숫자)
            [2] 3개의 랜덤 숫자를 비교한다.
            [3] 가장 큰 수(MAX)를 출력한다.    
    */


    let a = Math.floor(Math.random() * 1000 + 1);
    let b = Math.floor(Math.random() * 1000 + 1);
    let c = Math.floor(Math.random() * 1000 + 1);

    console.log(a + " : " + b + " : " + c);
    document.write(a + " : " + b + " : " + c + "<br>");

    let max = a
    if(max < b){
        max = b
    }
    if(max < c){
        max = c
    }
    console.log("max : " + max);
    document.write("max : " + max + "<br>");


</script>

 


조건문3_개념02_랜덤숫자.html

 

<script>

/*
        [문제]
            랜덤으로 숫자 1이나 7을 출력하시오.
    */

    let a = Math.floor(Math.random(2) * 2 + 1);
    if (a == 2){
        a = 7
    }
    console.log("a =" + a);
    document.write("a =" + a + "<br>");




</script>

 


조건문3_개념03_절댓값.html

 

<script>

/*
        [문제]
            랜덤 값 (1~10) 두 개를 저장한다.
            앞의 숫자에서 뒤에 숫자를 뺀다.
            만약에 값이 음수라면 양수로 변환해서 출력하시오.
    */

    let a = Math.floor(Math.random() * 10 + 1);
    let b = Math.floor(Math.random() * 10 + 1);

    rs = a - b;
    if(rs < 0){
        rs = rs * -1
    }

    console.log(a + " , " + b + " : " + rs);
    document.write(a + " , " + b + " : " + rs + "<br>");


</script>

 


조건문3_개념04_가위바위보.html

 

<script>

 /*
            [문제]
                [1] com은 0~2 사이의 숫자를 랜덤 저장한다.
                [2] me는  0~2 사이의 숫자를 랜덤 저장한다.
                [3] 가위, 바위, 보를 0, 1, 2 숫자로 대신 표현한다.
                [4] com과 me를 비교해서 me를 기준으로 "비김" "승리" "패배"를 출력하시오.
    */

    let com = Math.floor(Math.random() * 3);
    let me = Math.floor(Math.random() * 3);

    console.log(com);
    console.log(me);

    let com결과 = "가위"
    if(com == 2){
        com결과 = "보"
    }
    if(com == 1){
        com결과 = "바위"
    }

    let me결과 = "가위"
    if(me == 2){
        me결과 = "보"
    }
    if(me == 1){
        me결과 = "바위"
    }
    //===========================================================================
    let 최종결과 = ""
    if(com == me){
        최종결과 = "비김"
    }
    if(com == 0 && me == 1){
        최종결과 = "플레이어 승리"
    }
    if(com == 1 && me == 2){
        최종결과 = "플레이어 승리"
    }
    if(com == 2 && me == 0){
        최종결과 = "플레이어 승리"
    }
    if(me == 0 && com == 1){
        최종결과 = "컴퓨터 승리"
    }
    if(me == 1 && com == 2){
        최종결과 = "컴퓨터 승리"
    }
    if(me == 2 && com == 0){
        최종결과 = "컴퓨터 승리"
    }

    console.log("나 :" + me결과 + "  vs  " + "컴퓨터 :" + com결과);
    document.write("나: " + me결과 + "  vs  " + "컴퓨터: " + com결과 + "<br>");

    console.log(최종결과);
    document.write(최종결과 + "<br>");

</script>

 


조건문3_문제01_과락.html

 

<script>

    /*
        [문제]
            [1] 0에서 100 사이의 랜덤 점수 2개를 저장해 평균을 구한다.
            [2] 평균이 60점 이상이면 합격, 60점 미만이면 불합격이다.
            [3] 단, 평균이 60 이상이라도, 한 과목이라도 50 미만이면 불합격을 출력하시오.
    */

    let a = Math.floor(Math.random(2) * 101);
    let b = Math.floor(Math.random(2) * 101);

    let av = (a + b) / 2;
   
    let rs = "불합격"
    if(av >= 60){
    rs = "합격"
    }
    if(a < 50 || b < 50){
    rs = "불합격"
    }

    console.log("a : " + a + "b : " + b);
    console.log(rs);

    document.write("a : " + a + " b : " + b + "<br>")
    document.write(rs+"<br>");
</script>

 


조건문3_문제02_랜덤369.html

 

<script>

    /*
        [문제]
            [1] 1~99 사이의 랜덤 숫자를 저장한다.
           
            랜덤 숫자 중에서 3이나 6이나 9의 개수가
            [2-1] 2개이면, 짝짝을 출력한다.
            [2-2] 1개이면, 짝을 출력한다.
            [2-3] 0개이면, 해당 숫자를 출력하시오.
           
            [예]
                33  ==> 짝짝
                16  ==> 짝
                7   ==> 7
    */

    let a = Math.floor(Math.random() * 99 + 1);

    let b = parseInt(a / 10);
    let c = parseInt(a % 10);
   
    let tik = 0
    if(b == 3 || b == 6 || b == 9){
        tik = tik + 1
    }
    if(c == 3 || c == 6 || c == 9){
        tik = tik + 1;
    }

    if(tik == 2){
        console.log("짝짝");
        document.write("짝짝<br>");
    }
    if(tik == 1){
        console.log("짝");
        document.write("짝<br>");
    }
    if(tik == 0){
        console.log(a);
        document.write(a+"<br>")
    }

</script>

 


조건문3_문제03_연속짝수복권.html

 

<script>

    /*
        [문제]
            100~900 사이의 랜덤숫자를 출력한다.
            세 자리의 숫자를 전부 한 자리씩 분리한다.        
            [규칙]
                [1] 세 자리 모두 짝수이면 "1등"을 출력한다.
                [2] 두 자리가 짝수이고, 짝수인 숫자가 연속이면 "2등"을 출력한다.
                [3] 그 외는 "꽝"을 출력한다.
                [4] 단, 0은 짝수이다.
                [예]
                    462 ==> 4,6,2 세 자리 모두 짝수이므로 ==> 1등
                    245 ==> 2,4,5 두 자리가 짝수이고 2, 4연속이므로 ==> 2등
                    456 ==> 4,5,6 두 자리가 짝수이지만 연속이 아니므로 ==> 꽝
                    782 ==> 7,8,2 두 자리가 짝수이고 8, 2연속이므로 ==> 2등  
    */


    let a = Math.floor(Math.random(2) * 801 + 100);
   
    let b = parseInt(a / 100);
    let c = parseInt(a % 100 / 10);
    let d = parseInt(a % 10);

    let tik = 0
    if(b % 2 == 0 && c % 2 == 0 && d % 2 == 0){
        tik = tik + 1
    }
    if(b % 2 == 0 && c % 2 == 0 || c % 2 == 0 && d % 2 ==0){
        tik = tik + 1
    }
        if(tik == 2){
        console.log("1등");
        document.write("1등<br>");
    }
    if(tik == 1){
        console.log("2등");
        document.write("2등<br>");
}
    if(tik == 0){
        console.log("꽝");
        document.write("꽝<br>");
    }
    console.log(a);
   


</script>

 


조건문3_문제04_최소값.html

 

<script>

    /*
        [최대값]
            [1] 숫자 3개를 랜덤으로 저장한다. (-100 ~ 100 사이의 숫자)
            [2] 3개의 랜덤 숫자를 비교한다.
            [3] 가장 작은 수(MIN)를 출력하시오.
    */

    let a = Math.floor(Math.random() * 201 - 100);

    let b = parseInt(a / 100);
    let c = parseInt(a % 100 / 10);
    let d = parseInt(a % 10);

    console.log(b + "," + c + "," + d);

    let ex = b;
    if(ex > c){
        ex = c ;
    }
    if(ex > d){
        ex = d ;
    }

    console.log("수" + a);
    console.log(ex);
    document.write(ex+"<br>");





</script>

 


조건문3_문제05_학점.html

 

<script>

    /*
        [문제]
            0에서 100 사이의 랜덤 숫자를 시험 점수로 저장한다.
            시험점수에 해당하는 학점을 출력하시오.
            아래는 점수표이다.
            100~91 이면 A학점,
            90~81  이면 B학점,
            80 이하는 "재시험"
           
            단, 만점이거나, A 학점과 B 학점의 일의 자리가 8점 이상이면
            + 기호를 추가하시오.
            [예]
                100 => A+
                88 ==> B+
                82 ==> B
                23 ==> 재시험
    */


    let a = Math.floor(Math.random() * 101);

    console.log(a);
    let 성적 = " "
    if(a <= 80){
        성적 = "재시험"
    }
    if(a >= 81 && a <= 87){
        성적 = "B"
    }
    if(a >= 88 && a <= 90){
        성적 = "B+"
    }
    if(a >= 91 && a <= 97){
        성적 = "A"
    }
    if(a >= 98 && a <= 100){
        성적 = "A+"
    }

    console.log(성적);
    document.write(성적 +"<br>");

   

</script>

 


조건문4_개념01_엘스.html

 

<script>

    /*
        [조건문 옵션 else]
            [1] 조건문 if 의 옵션이며, 단독으로 사용할 수 없다.
            [2] if 조건이 거짓일 때 동작한다.
    */

    /*
        [문제]
            변수 a의 값이 홀수이면 "홀수", 짝수이면 "짝수"를 출력하시오.
    */

    let a = Math.floor(Math.random() * 20 + 1);

    console.log(a);

    if(a % 2 == 1){
    console.log("홀수");
    document.write("홀수<br>");    
    } else {
        console.log("짝수");
        document.write("짝수<br>");
    }

</script>

 


조건문4_개념02_엘스_로그인.html

 

<script>

    /*
        [회원가입과 로그인]    
        1. 가입된 아이디와 비번과 로그인시 입력한 아이디와 비밀번호를 비교한다.
        2. "로그인 성공" 또는 "로그인 실패" 를 출력하시오.
    */

    let joinId = "1234"
    let joinPw = "1q2w3e4r"


    let logId = "1234"
    let logPw = "1q2w3e4r"

    if(joinId == logId && joinPw == logPw){
        console.log("로그인 성공");
        document.write("로그인 성공<br>");
    } else {
        console.log("로그인 실패");
        document.write("로그인 실패<br>");
    }

    </script>


 


조건문4_개념03_엘스_배수.html

 

<script>


/*
        [문제]
            변수에 1~100 사이의 숫자를 랜덤으로 저장한다.
            해당 숫자의 값이 4의 배수이면 true,
            4의배수가 아니면 false 출력하시오.
    */

    let a = Math.floor(Math.random() * 100 + 1);
    console.log(a);
   
    if(a % 4 == 0){
        console.log("true")
        document.write("true")
    } else {
        console.log("false");
        document.write("false");
    }


</script>

 


조건문4_개념04_엘스주의점.html

 

<script>

/*
        [else 주의점]
            else 는 if 문 한개만 연결이 된다. 아래와 같은 상황을 조심해야 한다.
           
        [문제]
            랜덤으로 1~5 사이의 숫자를 저장한다.
            1이면 "아메리카노" 출력
            2이면 "까페라떼" 출력
            3이면 "모카라떼" 출력
            그 외는 "기타"를 출력
    */

    /*
        [설명]
            랜덤값이 1 이나 2일 때를 살펴보면 메세지가 두 개가 출력이 된다.
            else는 if 한개만 연결되기 때문에 경우의 수가 두 개일 때만 사용한다.
    */


    let a = Math.floor(Math.random() * 5 + 1);

    if(a == 1){
        console.log("아메리카노");
        document.write("아메리카노<br>");
    }
    if(a == 2){
        console.log("까페라떼");
        document.write("까페라떼<br>")
    }
    if(a == 3){
        console.log("모카라떼")
        document.write("모카라떼<br>")
    } else {
        console.log("기타");
        document.write("기타<br>");
    }

   


</script>

 


조건문4_개념05_엘스이프.html

 

<script>
/*
        [if 의 옵션 else if]
            if의 두 번째 옵션으로 else의 경우 경우의 수가 두 개일 경우만 사용할 수 있다.
            경우의 수가 두 개 이상일 때는 else if를 사용한다.
       
        [else if]
            [1] 항상 if와 함께 사용하며, 단독으로 사용할 수 없다.
            [2] if의 조건이 거짓이면 동작한다.
            [3] 조건이 여러 개일 때 사용한다.
            [4] else if를 여러 개 사용한 경우 위에서부터 순차적으로 비교하며
                중간에 else if 조건이 참인경우 아래있는 else if는 전부 무시된다.
    */

    // if 가 거짓일때 동작하며, 만약 if가 사실인 경우
    // 아래 else if는 내용이 사실이라도 동작하지않는다.

    let a = Math.floor(Math.random() * 3 + 1);

    if(a == 3){
        console.log("탄산수");
        document.write("탄산수<br>");
    }
    else if(a == 2){
        console.log("제로콜라");
        document.write("제로콜라");
    }
    else if(a == 1){
        console.log("레모네이드");
        document.write("레모네이드<br>");
    }





</script>

 


조건문4_개념06_엘스이프_엘스.html

 

<script>


/*
        [elif 와 else]
            if에 추가 조건을 사용하기 위해 else if를 사용한 경우 else 또한 사용가능하다.
            단, else는 문맥상 가장 마지막에만 사용할 수 있다.
            다음 가위바위보 식을 보면 기존식에선 조건이 7개 이었는데
            조건을 5개로 줄인걸 확인할 수 있다.
    */

    /*
        [가위(0) 바위(1) 보(2) 게임]
            [1] com 은 0~2 사이의 숫자를 랜덤 저장한다.
            [2] me 는 0~2 사이의 숫자를 랜덤 저장한다.
            [3] 가위,바위,보를 0,1,2 숫자로 대신 표현한다.
            [4] com과 me를 비교해서 "비김" "승리" "패배" 를 출력한다.
    */

    let a = Math.floor(Math.random() * 3);
    let b = Math.floor(Math.random() * 3);

    if(a == b){
        console.log("비겼다");
        document.write("비겼다<br>");
    }
    else if(a == 0 && b == 2){
        console.log("내가 이겼다");
        document.write("내가 이겼다<br>");
    }
    else if(a == 1 && b == 0){
        console.log("내가 이겼다");
        document.write("내가 이겼다<br>");
    }
    else if(a == 2 && b == 1){
        console.log("내가 이겼다");
        document.write("내가 이겼다<br>");
    }
    else {
        console.log("내가 졌다");
        document.write("내가 졌다");
    }




</script>

 


조건문4_개념07_switch.html

 

<script>

/*  
        [switch 문]
            - if문과 거의 유사하나, if 는 == 이외에 > 크다 , < 작다 등도 활용할수있지만,
            - switch 문은 오로지 == 같다만 적용된다.
    */

    let a = Math.floor(Math.random()* 10 + 1);

    switch(a){
        case 1:
            console.log(1);
        break;
       
        case 2:
            console.log(2);
        break;
       
        case 3:
            console.log(3);
        break;
        case 4:
            console.log(4);
            break;
        default :
            console.log("없는 값 입니다");
            break;

    }

    if(a == 1){
        console.log(1);
    }
    else if(a == 2){
        console.log(2);
    }
    else if(a == 3){
        console.log(3);
    }
    else if(a == 4){
        console.log(4);
    }
    else {
        console.log("없는 값 입니다");
    }

</script>

 

 


조건문4_개념08_삼항연산자.html

 

<script>


/*
        [삼항 연산자]
            if문을 한줄로 표시한 것이다.

            if(a == 10) {
                result = "참";
            } else {
                result = "거짓";
            }
           
            삼항연산자로 표시하면
            result = a == 10 ? "참" : "거짓";
    */


    let a = Math.floor(Math.random() * 2 + 1);

    let rs = " "

    if(a == 1){
        rs = "참"
    } else {
        rs = "거짓"
    }

    console.log(rs);

    rs = a == 1 ? "참" : "거짓";

    console.log(rs);





</script>

 


조건문4_개념09_중첩if문.html

 

<script>

// 로그인
    // 1. 아이디를 확인해주세요.
    // 2. 비밀번호를 확인해주세요.
    // 3. 로그인 성공!

    let joinId = "qwer";
    let joinPw = "1234";

    let loginId = "qwer";
    let loginPw = "1234";

    // 1(아이디 오류) 2(비번 오류) 3(로그인 성공)

    let rs = 1;
    if(joinId == loginId){
        if(joinPw == loginPw)
        rs = 3;
    }   else {
        rs = 2;
    }

    switch(rs){
        case 1:
            console.log("아이디 오류!")
            break;
        case 2:
            console.log("비밀번호 오류!")
            break;
        case 3:
            console.log("로그인 성공")
    }

</script>

 

 


조건문4_문제01_당첨.html

 

<script>



/*
    [문제]
        1. 1~100 사이의 랜덤 숫자를 저장한다.
        2. 7의 배수이고 짝수이며 50보다 작으면 당첨을 출력한다.
        3. 위에 해당하지 않으면 꽝을 출력한다.
*/

let a = Math.floor(Math.random() * 100 + 1);
if (a % 7 == 0 && a % 2 == 0 && a < 50){
    console.log("당첨");
    document.write("당첨<br>");
} else{
    console.log("꽝");
    document.write("꽝<br>");
}

//================================================================


let num = parseInt(Math.random() * 100) + 1;    // [0 ~ 99] + 1
console.log("num = " + num);
document.write("num = " + num + "<br>");

if(num % 7 == 0 && num % 2 == 0 && num < 50) {
    console.log("당첨");
    document.write("당첨<br>");
} else {
    console.log("꽝");
    document.write("꽝<br>");
}

/*
    [문제]
        위 식을 오로지 if문으로만 작성해 풀이하시오.
*/

if(num % 7 == 0 && num % 2 == 0 && num < 50) {
    console.log("당첨");
    document.write("당첨<br>");
}
if(num % 7 > 0 || num % 2 > 0 || num >= 50){
    console.log("꽝")
    document.write("꽝<br>");
}




</script>

 


조건문4_문제02_가위바위보.html

 

<script>



/*
        [문제]
            [1] com은 0~2 사이의 숫자를 랜덤 저장한다.
            [2] me는  0~2 사이의 숫자를 랜덤 저장한다.
            [3] 가위, 바위, 보를 0, 1, 2 숫자로 대신 표현한다.
            [4] com과 me를 비교해서 me를 기준으로 "비김" "승리" "패배"를 출력하시오.
*/


let a = Math.floor(Math.random() * 3);
let b = Math.floor(Math.random() * 3);

let rs = " "

if(a == b){
    rs = "비겼다"
}
else if(a == 0 && b == 2){
    rs = "내가 이겼다!"
}
else if(a == 1 && b == 0){
    rs = "내가 이겼다!"
}
else if(a == 2 && b == 1){
    rs = "내가 이겼다!"
}
else {
    rs = "내가 졌다..."
}

    console.log(rs);
    document.write(rs+"<br>");



/*
        [문제]
        위 식을 오로지 if문으로만 작성해 풀이하시오.
*/
if(a == b){
    rs = "비겼다"
}
if(a == 0 && b == 2){
    rs = "내가 이겼다!"
}
if(a == 1 && b == 0){
    rs = "내가 이겼다!"
}
if(a == 2 && b == 1){
    rs = "내가 이겼다!"
}
if(a == 0 && b == 1){
    rs = "내가 졌다..."
}
if(a == 1 && b == 2){
    rs = "내가 졌다..."
}
if(a == 2 && b == 0){
    rs == "내가 졌다..."
}

    console.log(rs);
    document.write(rs +"<br>");
</script>

 


조건문4_문제03_적정체중.html

 

<script>

    /*
        [문제]
            1. 100 ~ 200 사이의 랜덤 숫자를 height 변수에 저장한다.
            2. 30 ~ 150 사이의 랜덤 숫자를 weight 변수에 저장한다.
            3. 적정 체중인지 확인하기 위한 아래 공식을 적용해
                적정체중 = (신장 - 100) * 0.9
                적정체중 - 5 <= 본인 체중 <= 적정체중 + 5
            4. "적정 체중입니다" 또는 "적정 체중이 아닙니다" 를 출력하시오.

            위 문제를 삼항연산자 문법을 사용해 풀어보시오.
    */
    let = Math.floor(Math.random() * 101 + 100);
    let 무게 = Math.floor(Math.random() * 121 + 30);

    let 적정체중 = ( - 100) * 0.9
    let result = 적정체중 - 5 <= 무게 && 무게 <= 적정체중 + 5;

    result = result ? "적정 체중입니다" : "적정 체중이 아닙니다";
    console.log(result);

    console.log("키 : " + + " 무게 : "+ 무게 +" 적정체중 : "+적정체중);


    let rs = 3

    if(무게 >= (적정체중 - 5)){
        if(무게 <= (적정체중 + 5))
        rs = 2
    }  else {
        rs = 1
    }  

        console.log(rs);

        switch(rs){

            case 1:
                console.log(무게 + " 저체중입니다.")
                break;
            case 2:
                console.log(무게 + " 적정 체중입니다.")
                break;
            case 3:
                console.log(무게 + " 과체중입니다")
                break;
        }



</script>

 


조건문4_문제04_주석1.html

 

<script>

    /*
        [문제]
            다음 주석 안에 있는 식의 결과를 미리 예측해보고
            주석을 풀고 결과를 확인하시오.
    */

    /*
    let a = 10;
    if(a == 10) {
        console.log("a는 10이다.");
        document.write("a는 10이다.<br>");
    }
    if(a == 11) {
        console.log("a는 11이다.");
        document.write("a는 11이다.<br>");
    }
    if(a == 12) {
        console.log("a는 12이다.");
        document.write("a는 12이다.<br>");
    } else {
        console.log("else 구문이다.");
        document.write("else 구문이다.<br>");
    }
    */

    let a = 10;
    if(a == 10) {
        console.log("a는 10이다.");
        document.write("a는 10이다.<br>");
    }
    if(a == 11) {
        console.log("a는 11이다.");
        document.write("a는 11이다.<br>");
    }
    if(a == 12) {
        console.log("a는 12이다.");
        document.write("a는 12이다.<br>");
    } else {
        console.log("else 구문이다.");
        document.write("else 구문이다.<br>");
    }

</script>

 


조건문4_문제05_주석2.html

 

<script>

    /*
        [문제]
            다음 주석 안에 있는 식의 결과를 미리 예측해보고
            주석을 풀고 결과를 확인하시오.
    */

    /*
    let a = 63;

    if(a <= 50) {
        console.log("a는 50 이하이다.");
        document.write("a는 50 이하이다.<br>");
    } else if(a <= 60) {
        console.log("a는 60 이하이다.");
        document.write("a는 60 이하이다.<br>");
    } else if(a <= 70) {
        console.log("a는 70 이하이다.");
        document.write("a는 70 이하이다.<br>");
    } else {
        console.log("else 구문이다.");
        document.write("else 구문이다.<br>");
    }
    */

    let a = 63;

    if(a <= 50) {
        console.log("a는 50 이하이다.");
        document.write("a는 50 이하이다.<br>");
    } else if(a <= 60) {
        console.log("a는 60 이하이다.");
        document.write("a는 60 이하이다.<br>");
    } else if(a <= 70) {
        console.log("a는 70 이하이다.");
        document.write("a는 70 이하이다.<br>");
    } else {
        console.log("else 구문이다.");
        document.write("else 구문이다.<br>");
    }

</script>

 


조건문4_문제06_학점.html

 

<script>

    /*
        [문제]
            0에서 100 사이의 랜덤 숫자를 시험 점수로 저장한다.
            시험점수에 해당하는 학점을 출력하시오.
            아래는 점수표이다.
            100~91 이면 A학점,
            90~81  이면 B학점,
            80 이하는 "재시험"
           
            단, 만점이거나, A 학점과 B 학점의 일의 자리가 8점 이상이면 + 기호를 추가하시오.
            [예]
                100 => A+
                88 ==> B+
                82 ==> B
                23 ==> 재시험
    */



    let a = Math.floor(Math.random()*101);
   
    console.log(a);

    if (98 <= a){
    console.log("A+");
    } else if ( 90 < a){
    console.log("A");
    } else if ( 88 <= a){
    console.log("B+");
    } else if (80 < a){
    console.log("B");
    } else {
    console.log("재시험");
    }

   
    /*
        [문제]
            위 식을 오로지 if문으로만 작성해 풀이하시오.
    */

    if(0 <= score && score <= 80) {
        console.log("재시험");
        document.write("재시험<br>");
    }
    if(81 <= score && score <= 87) {
        console.log("B");
        document.write("B<br>");
    }
    if(88 <= score && score <= 90) {
        console.log("B+<br>");
        document.write("B+<br>");
    }
    if(91 <= score && score <= 97) {
        console.log("A<br>");
        document.write("A<br>");
    }
    if(98 <= score && score <= 100) {
        console.log("A+<br>");
        document.write("A+<br>");
    }

</script>