9. for 안의 if
9.1 2 또는 3의 배수
📌 [기본 개념] for 문 안의 if 문
✔ a부터 b까지의 숫자들을 순서대로 짝수인 경우에는 1, 홀수인 경우에는 0을 출력하는 프로그램
for 문을 사용하여 a부터 b까지 숫자를 1씩 증가시킵니다.
for 문 안에 if else 문을 사용하여 해당 숫자가 짝수인지 홀수인지 판별합니다.
for i in range(a, b + 1):
if i % 2 == 0:
print(1)
else:
print(0)
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 정수 n이 주어지므로 int(input())을 사용해 n에 넣습니다.
📍 for 문을 사용해 1부터 n까지 숫자를 1씩 증가시킵니다.
for 문 안에 if else 문을 사용하여 (2의 배수 또는 3의 배수인지) 또는 (그 외인지) 판별합니다.
[코드]
n = int(input())
for i in range(1, n+1):
if i % 2 == 0 or i % 3 == 0:
print(1, end=' ')
else:
print(0, end=' ')
9.2 100점 도달하기
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 정수 n이 주어지므로 int(input())을 사용해 n에 넣습니다.
📍 for 문을 사용해 n부터 100까지 숫자를 1씩 증가시킵니다.
for 문 내에 if elif else 문을 사용해 점수에 따른 등급을 판별합니다.
📍 print()의 end=" "를 설정하여 공백을 사이에 두고 출력합니다.
[코드]
n = int(input())
for i in range(n, 100+1):
if i >= 90:
print('A', end=' ')
elif i >= 80:
print('B', end=' ')
elif i>= 70:
print('C', end=' ')
elif i>= 60:
print('D', end=' ')
else:
print('F', end=' ')
9.3 출력결과 48
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 변수 result가 0으로 초기화되어 있습니다.
📍 for i in range(1, 11, 2)를 통해 i를 1부터 10까지 2씩 증가시키므로, i는 홀수입니다.
for 문 내에 if 문을 사용해 i가 3의 배수인지 판별하고,
3의 배수인 경우 해당 숫자에서 1을 빼서 result에 더합니다.
📍 i가 홀수이면서 3의 배수인 경우는 3, 9 이므로, result = 10 입니다.
9.4 a부터 b까지
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 정수 a, b가 공백을 사이에 두고 주어지므로
input().split()를 사용해 공백을 기준으로 나누고 이들을 원소로 갖는 리스트를 arr에 넣습니다.
arr의 0, 1번째 원소를 각각 int()로 감싸서 a, b에 넣습니다.
📍 for 문을 사용해 a부터 b까지 1씩 증가시킵니다.
for 문 안에 if else 문을 연달아 2개 사용합니다.
첫 번째 if else 문을 통해 현재 숫자가 홀수인지 짝수인지 판별하고
두 번째 if else 문을 통해 현재 숫자가 b보다 큰지 판별합니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
result = a
print(result, end=' ')
for i in range(a, b+1):
if i % 2 != 0:
result *= 2
elif i % 2 == 0:
result += 3
if result <= b:
print(result, end=' ')
else:
break
9.5 369 게임
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 정수 n이 주어지므로 int(input())을 통해 n에 넣습니다.
📍 for 문을 사용해 i를 1부터 n까지 1씩 증가시킵니다.
📍 for 문 안에 if elif else 문을 사용합니다.
# 3의 배수
if (i % 3 == 0)
# 일의 자리에 3, 6, 9 중 하나를 포함함
elif (i % 10 == 3) or (i % 10 == 6) or (i % 10 == 9)
# 십의 자리에 3, 6, 9 중 하나를 포함함
elif (i // 10 == 3) or (i // 10 == 6) or (i // 10 == 9)
# 그 외
else
[코드]
n = int(input())
for i in range(1, n+1):
if i % 3 == 0:
print("0", end=" ")
elif i % 10 == 3 or i % 10 == 6 or i % 10 == 9:
print("0", end=" ")
elif i // 10 == 3 or i // 10 == 6 or i // 10 == 9:
print("0", end=" ")
else:
print(i, end=" ")
9.6 홀수만 출력하기
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 정수 n이 주어지므로 int(input())을 사용해 n에 넣습니다.
📍 for 문을 사용해 1부터 n까지 for 문 내의 코드를 n번 반복합니다.
📍 n개의 줄에 걸쳐 한 줄에 정수가 하나씩 주어지므로 int(input())을 사용해 num에 넣습니다.
📍 if 문을 사용해 (홀수인지) and (3의 배수인지) 판별합니다.
[코드]
n = int(input())
for _ in range(n):
num = int(input())
if num%2 != 0 and num%3 == 0:
print(num)
'코딩테스트 대비' 카테고리의 다른 글
[Python]🔥코딩 테스트를 위한 파이썬🔥 (0) | 2024.10.14 |
---|---|
[코드트리 챌린지] [Novice Low] 5. 단순 반복문(10) - cnt 활용하기 (0) | 2023.10.28 |
[코드트리 챌린지] [Novice Low] 5. 단순 반복문(8) - if 안의 for (0) | 2023.10.26 |
[코드트리 챌린지] [Novice Low] 5. 단순 반복문(7) - n번 반복하기 (0) | 2023.10.25 |
[코드트리 챌린지] [Novice Low] 5. 단순 반복문(6) - while문 b→a 1씩 감소 (0) | 2023.10.24 |