가오리의 코딩일기

코드업 기초 100제 13. 종합(2) Q86~92 본문

Python/코드업 기초 100제

코드업 기초 100제 13. 종합(2) Q86~92

류경혜 2022. 5. 15. 17:00

[86] 그림 파일 저장용량 계산하기

이미지의 가로 해상도 w, 세로 해상도 h, 한 픽셀을 저장하기 위한 비트 b 가 주어질 때, 압축하지 않고 저장하기 위해 필요한 저장 용량을 계산하는 프로그램을 작성해 보자.

w, h, b = map(int, input().split())
result = (w*h*b)/(8*1024**2)
print(round(result, 2), 'MB')

 

 

 

[87] 여기까지! 이제 그만~

1, 2, 3 ... 을 순서대로 계속 더해나갈 때, 그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.

# for
num = int(input())
sum = 0
for i in range(1, num+1):
    if sum >= num:
        break
    sum += i
    i += 1
print(sum)

# while
num = int(input())
sum = 0
i = 0
while sum < num:
    sum += i
    i += 1
print(sum)

 

 

 

 

[88] 3의 배수는 통과?

1부터 입력한 정수까지 1씩 증가시켜 출력하는 프로그램을 작성하되, 3의 배수인 경우는 출력하지 않도록 만들어보자.

num = int(input())
for i in range(1, num+1):
    if i % 3 != 0:
        print(i, end=' ')

 

 

 

[89] 수 나열하기1

시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자.

a, d, n = map(int, input().split())
count = 0
turn = []
while count < n:
    turn.append(a)
    a += d
    count += 1
print(turn[-1])

 

 

 

[90] 수 나열하기2

시작 값(a), 등비(r), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자.

a, r, n = map(int, input().split())
count = 0
turn = []
while count < n:
    turn.append(a)
    a *= r
    count += 1
print(turn[-1])

 

 

 

 

[91] 수 나열하기3

시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때, n번째 수를 출력하는 프로그램을 만들어보자.

a, m, d, n = map(int, input().split())
count = 0
turn = []
while count < n:
    turn.append(a)
    a = a*m+d
    count += 1
print(turn[-1])

[92] 함께 문제 푸는 날

같은 날 동시에 가입한 3명의 사람들이 온라인 채점시스템에 들어와 문제를 푸는 날짜가 매우 규칙적이라고 할 때, 다시 모두 함께 문제를 풀게 되는 그날은 언제일까? 예를 들어 3명이 같은 날 가입/등업하고, 각각 3일마다, 7일마다, 9일마다 한 번씩 들어온다면, 처음 가입하고 63일 만에 다시 3명이 함께 문제를 풀게 된다.

# while문
a, b, c = map(int, input().split())
day = 1
while day % a != 0 or day % b != 0 or day % c != 0:
    day += 1
print(day)
# +if문
a, b, c = map(int, input().split())
day = 1
while True:
    day += 1
    if day % a == 0 and day % b == 0 and day % c == 0:
        break
print(day)