본문 바로가기
Javascript

자바스크립트 별문자(*)출력하기

by mickey7 2023. 2. 26.
 
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Document</title>
    
    <script>
        function printStar(){
            for(let i = 0; i<7; i++){
                let star = i + 1;
                for(let j = star; j>0; j--){
                    document.write("*");
                }
                document.write("<br>")
            }
        }
        printStar();
    </script>
</head>
<body>
    
</body>
</html>

출력 화면

  1.  예전 C언어 수강할 때 버벅였을 때가 생각났다.
  2.  한 번에 풀기는 어려웠던 걸로 기억하는데 약간의 소스만 알고있으면 고민하다가 응용해서 다른 방식으로 풀이도 가능하다.
  3.  document.write()로 live preview로 옆에서 보면서 풀어서 그런가 디버깅 과정 없어도 더 빠르게 풀 수 있었던 것 같다.
  4.  문제를 간단히 분해해서 푸는 것도 중요하는게 예를 들면 별문자 7개 출력하기 전에 별문자 3개를 먼저 출력한다고 생각하고 i 값을 3으로 풀고나서 결과값만 변경하면 더 편하다.
  5. 반복문 매개변수 i와 j를 묶어주는 star 변수를 지정해서 해결하는 게 KeyPoint라고 생각.

 

역방향 문제(별문자를 1개부터 7개까지가 아니라 7개부터 1개까지 출력되도록 응용)

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Document</title>
    
    <script>
        function printStar(){
            for(let i = 0; i<7; i++){
                let star = i;
                for(let j = star; j<7; j++ ){
                    document.write("*");
                }
                document.write("<br>")
            }
        }
        printStar();
    </script>
</head>
<body>
    
</body>
</html>

출력성공2!