FizzBuzz 문제 (C#)

  • 3 minutes to read

FizzBuzz 문제

1부터 100까지 반복하면서 숫자를 출력할 때, 3과 5의 공배수면 "FizzBuzz"를 출력하고 3의 배수이면 "Fizz", 5의 배수이면 "Buzz"를 출력하는 프로그램을 작성하세요.

FizzBuzz.cs

using System;

class FizzBuzz
{
    static void Main()
    {
        for (int i = 1; i <= 100; i++)
        {
            if (i % 3 == 0 && i % 5 == 0) // 3의 배수이고 그리고 5의 배수일 때
            {
                Console.WriteLine("FizzBuzz");
            }
            else if (i % 3 == 0) // 3의 배수일 때
            {
                Console.WriteLine("Fizz");
            }
            else if (i % 5 == 0) // 5의 배수일 때
            {
                Console.WriteLine("Buzz");
            }
            else // 3의 배수 또는 5의 배수 또는 3과 5의 공배수가 아닐 때
            {
                Console.WriteLine($"{i}");
            }
        }
    }
}
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

둘 다 참일 때 참을 반환해주는 && 연산자를 사용하는 i % 3 == 0 && i % 5 == 0 조건식에 의해서 3의 배수이고 그리고 5의 배수인 3과 5의 공배수를 구할 수 있습니다. 그리고 차례로 i % 3 == 0 조건식으로 3의 배수를 i % 5 == 0 조건식으로 5의 배수를 판단할 수 있습니다.

이 예제에서 주의할 점은 3과 5의 공배수를 먼저 비교하여 맞다면 "FizzBuzz"를 출력하는 코드가 제일 앞에 와야 합니다. 그렇지 않으면 3과 5의 공배수이지만, 3의 배수 또는 5의 배수일 때 "Fizz" 또는 "Buzz"만 출력되고 "FizzBuzz"는 출력되지 않습니다.

퀴즈

다음 코드 중 3의 배수가 아닌 수를 나타내는 코드조각을 고르세요.

a. i % 3 != 0

b. i % 3 == 0

c. i % 3 >< 0

d. i % 3 => 0

다음 코드 중 3의 배수 또는 4의 배수를 나타내는 코드조각을 고르세요.

a. i % 3 == 0 || i % 4 == 0

b. i % 3 != 0 || i % 4 == 0

c. i % 3 == 0 && i % 4 != 0

d. i % 3 != 0 && i % 4 == 0

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com