코딩테스트 기초 반복문 연습 - FooBar
코딩테스트 기초 반복문 연습 - FooBar — #코딩테스트 #코딩테스트기초 #FOOBAR AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성...
#코딩테스트 #코딩테스트기초 #FOOBAR
AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였습니다
FooBar
반복문 연습문제
문제
| 💡 자연수 하나를 키보드로 입력 받아서 1부터 입력 받은 자연수까지의 수까지 차례대로 출력하되, 3의 배수일 때는 숫자 대신 Foo를, 5의 배수일 때는 숫자 대신 Bar를, 3의 배수이면서 5의 배수인 수일 때는 FooBar를 출력하라. |
|---|
예제 입출력
| 이름 | 입력 | 출력 |
|---|---|---|
| 기본 1 | 5 | 1 2 Foo 4 Bar |
| 기본 2 | 15 | 1 2 Foo 4 Bar Foo 7 8 Foo Bar 11Foo 13 14 FooBar |
| 경계값 1 | 1 | 1 |
| 경계값 2 | 50 | 12 Foo 4 Bar Foo 7 8 Foo Bar 11 Foo 13 14 FooBar 16 17 Foo 19 BarFoo 22 23 Foo Bar 26 Foo 28 29 FooBar 31 32 Foo 34 Bar Foo 37 38 Foo Bar 41 Foo 43 44 FooBar 46 47 Foo 49 Bar |
문제풀이
자연수를 입력받기
입력받은 값은 정수로 변환해주고 따로 조건을 달진 않겠습니다. 어차피 테스트는 주어진 조건에서만 이행될테닌깐요.
| num = int(input('자연수를 입력하세요: ')) |
|---|
1부터 입력받은 수까지 출력하기
num을 입력 받은 후 1부터 num까지 숫자를 출력해야합니다. 반복문을 사용하여 출력합니다. range()를 사용하면 끝자리는 출력하지 않으니 +1을 해줍니다.
| num = input('자연수를 입력 하세요: ')for i in range(1, num + 1): print(i) |
|---|
3의 배수 Foo출력하기
i를 3으로 나눈 나머지가 0인 경우 3의배수에 해당합니다. 이때 'Foo'를 출력하도록 작성합니다. 이외의 경우는 i를 출력합니다.
| num = int(input('자연수를 입력 하세요: ')) for i in range(1, num + 1): if i % 3 == 0: print('Foo') else: print(i) |
|---|
5의 배수 Bar출력하기
elif 조건문을 사용하여 i가 5를 나눈 나머지가 0인 경우(= 5의 배수)에는 Bar를 출력해줍니다.
| num = int(input('자연수를 입력 하세요: '))for i in range(1, num + 1): if i % 3 == 0: print('Foo') elif i % 5 == 0: print('Bar') else: print(i) |
|---|
15의 배수 FooBar출력하기
15의 배수의 경우 3으로 나눈 나머지도 0이고, 5로 나눈 나머지도 0입니다. 맨 아래달면 Foo, Bar를 출력하는 조건문에 걸리므로 맨 위로 올려줍니다.
| num = int(input('자연수를 입력 하세요: ')) for i in range(1, num + 1): if i % 3 == 0 and i % 5 == 0: print('FooBar') elif i % 3 == 0: print('Foo') elif i % 5 == 0: print('Bar') else: print(i) |
|---|
최종코드
| num = int(input('자연수를 입력 하세요: ')) for i in range(1, num + 1): if i % 3 == 0 and i % 5 == 0: print('FooBar') elif i % 3 == 0: print('Foo') elif i % 5 == 0: print('Bar') else: print(i) |
|---|
구현이 완료되었습니다! 추가로 멘토님이 다른 코드도 제시해 주셨으니 아래도 참고하면서 공부해봅시다!
| num = int(input('자연수를 입력하세요: ')) for n in range(1, num+1): flag = False if n % 3 == 0: print('Foo', end='') flag = True if n % 5 == 0: print('Bar', end='') flag = True if not flag: print(n, end='') print() |
|---|
flag와 print문을 사용하여 FooBar를 구현할 수 있습니다.
몰랐던 부분
복습으로 직접 구현해보면서 복습한 개념 및 코드를 정리해보았습니다.
- if에 두가지 조건을 작성할때는 if 조건 1 and 조건 2를 사용하면됩니다.
- print(end = '') 지정하면 다음 글자가 붙어서 나온다.
