[python] FizzBuzz 문제

anjiyoo·2024년 3월 6일

Python

목록 보기
13/41
post-thumbnail

1.FizzBuzz

  • 요구사항을 정확히 파악하여 구현했는지 평가
  • 1에서 100까지 출력
  • 3의 배수는 Fizz 출력
  • 5의 배수는 Fizz 출력
  • 3과 5의 공배수는 FizzBuzz 출력
  • 약수 구하기

2.1에서 100까지 출력

for i in range(1, 101):  # 1부터 100까지 100번 반복
	print(i)

3.3의 배수일 때와 5의 배수일 때 처리하기

  • 3의 배수와 5의 배수일 때 숫자 대신 'Fizz', 'Buzz'를 출력
for i in range(1, 101):  # 1부터 100까지 100번 반복
	if i % 3 == 0:       # 3의 배수일 때
    	print('Fizz')    # Fizz 출력
    elif i % 5 == 0:     # 5의 배수일 때
    	print('Buzz')    # Buzz 출력
    else:
    	print(i)         # 아무것도 해당되지 안하을 때 숫자 출력

4.3과 5의 공배수 처리하기

  • 논리 연산자 and를 사용해서 3과 5의 공배수 출력
for i in range(1, 101):             # 1부터 100까지 100번 반복
	if i % 3 == 0 and i % 5 ==0:    # 3과 5의 공배수일 때
    	print('FizzBuzz')           # FizzBuzz 출력
    elif i % 3 == 0:                # 3의 배수일 때
    	print('Fizz')               # Fizz 출력
    elif i % 5 == 0:                # 5의 배수일 때
        print('Buzz')               # Buzz 출력
    else:
    	print(i)                    # 아무것도 해당되지 안하을 때 숫자 출력

5.논리 연산자를 사용하지 않고 3과 5의 공배수 처리하기

  • 3 * 5 = 15는 3과 5의 최소공배수이므로 15로 나눴을 때 나머지가 0인 값들은 3과 5의 공배수
for i in range(1, 101):             # 1부터 100까지 100번 반복
	if i % 15 ==0:                  # 15의 배수일 때
    	print('FizzBuzz')           # FizzBuzz 출력
    elif i % 3 == 0:                # 3의 배수일 때
    	print('Fizz')               # Fizz 출력
    elif i % 5 == 0:                # 5의 배수일 때
        print('Buzz')               # Buzz 출력
    else:
    	print(i)                    # 아무것도 해당되지 안하을 때 숫자 출력

6.코드 단축하기

for i in range(1, 101):
	print('Fizz' * (i % 3 ==0) + 'Buzz' * (i % 5 == 0) or i)
    # 문자열 곱셈과 덧셈을 이용하여 print 안에서 처리

7.약수 구하기

  • 나머지 연산자로 구함
x = 10
if x % 5 == 0:
	print('x는 5의 배수입니다.')
x = 9
for i in range(1, x+1):   # 1부터 어떤 수까지 반복
	if x % i == 0:        # 어떤 수를 i로 나누었을 때 나머지가 0이면 약수
    	print(i, '은(는) x의 약수입니다.', sep='')
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글