[JavaScript] 구구단 출력하기

자바스크립트로 중첩 반복문을 활용한 구구단 출력하기 예제이다. 예전에 면접볼 때 코딩 테스트에서 해당 문제가 나와 적어본다. 우선 반복문으로 2단의 값을 출력해 보자

for (var i = 1; i <= 9; i++) {
    console.log(2 * i);
}
2  
4  
6  
8  
...

정상적으로 출력된다. 이제 이 값을 하나의 변수에 넣어 보자

var result = '';
for (var i = 1; i <= 9; i++) {
    result += 2 * i + '\n';
}
console.log(result);

result에 2단의 값을 차례대로 대입하였더니 정상적으로 출력된다. 이제 답 말고 구구단식도 같이 넣어 보자

var result = '';
for (var i = 1; i <= 9; i++) {
    result += '2' + 'x' + i + '=' + 2 * i + '\n';
}
console.log(result);
2 x 1 = 2  
2 x 2 = 4  
2 x 3 = 6  
2 x 4 = 8  
2 x 5 = 10  
2 x 6 = 12  
2 x 7 = 14  
2 x 8 = 16  
2 x 9 = 18  

제대로 출력된다. 이제 중첩 반복문을 활용하여 1단부터 9단까지의 모든 구구단을 출력해 보자

var result = '';
for (var i = 1; i <= 9; i++) {
    for (var j = 1; j <= 9; j++) {
        result += i + 'x' + j + '=' + i * j + '\n';
    }
}
console.log(result);

로직을 살펴보면, result가 선언되고 외부 반복문이 시작된다. i가 1인 상태에서 내부 반복문으로 들어간다. result에 대입되는 값을 해석해 보면 i에 문자열 x을 더하고 j값을 더한뒤 문자열 = 을 더하고 값을 더한뒤 줄바꿈 처리를 했다. 내부 반복문이 다시 실행된다. i값이 1상태에서 j는 2에서 반복문이 실행된다. i는 몇단인지 구분되는 값이 된다. 이런식으로 중첩되어 값을 계산하고 마지막엔 콘솔창에 값을 출력하게 된다.

updated_at 20-02-2018