TIL

이중 반복문을 사용한 구구단 출력

youngjin02 2025. 4. 4. 17:11

이중 반복문을 사용한 구구단 출력 문제를 풀어보겠다.

for 문을 이중으로 쓰면 편하게 풀 수 있을 것 같다.

일단 세로로 출력해 보겠다.

for(int i = 1; i <= 9; i++)
{
    for(int j = 2; j <= 9; j++)
    {
        Console.Write($"{j} x {i} = {j * i}   ");
    }
    Console.WriteLine("");
}

구구단을 for 문으로 만들기는 쉬운데 공백과 줄바꿈을 구현하는데 생각이 많이 들었다.

결과값이 한자리에서 두자리가 되니 밀리는 현상이 발생하여 깔끔하지 않다.

찾아보니, 오른쪽 정렬 기능이 있다.

{j * i} 로 예를 들면, {j * i,2} 라고 쓰면, 2칸 너비로 오른쪽 정렬하라는 뜻이다. 적용을 시켜보겠다.

for(int i = 1; i <= 9; i++)
{
    for(int j = 2; j <= 9; j++)
    {
        Console.Write($"{j} x {i} = {j * i,2}   ");
    }
    Console.WriteLine("");
}

깔끔하게 출력이 되는 모습이다.

 

다음으로는 구구단을 가로로 출력해 보겠다.

for(int i = 2; i <= 9; i++)
{
    for(int j = 1; j <= 9; j++)
    {
        Console.Write($"{i} x {j} = {j * i,2}   ");
    }
    Console.WriteLine("");
}

매우 간단하다. i 와 j 의 초기화 값을 바꿔주면 된다.