FizzBuzz 문제 (C#)
추천 자료: ASP.NET Core 인증 및 권한 부여
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
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!