가오리의 코딩일기

코드업 기초 100제 13. 기초 -종합(1) Q78~85 본문

Python/코드업 기초 100제

코드업 기초 100제 13. 기초 -종합(1) Q78~85

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

[78] 짝수 합 구하기

정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자.

num = int(input())
sum1 = 0
for i in range(0, num+1, 2):
    sum1 += i
print(sum)
# 다른 방법들
sum2 = [i for i in range(2, num+1, 2)]
print(sum(sum2))
sum3 = range(2, num+1, 2)
print(sum(sum3))

 

 

 

[79] 원하는 문자가 입력될 때까지 반복 출력하기

'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자.

# while문
char = input().split()
while char != 'q':
    print(char[i])
    i += 1
# for문
char = input().split()
for i in char:
    if i == 'q':
        break
    print(i)

 

 

 

[80] 언제까지 더해야 할까?

1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자.

즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.

# while문
num = int(input())
sum, i = 0
while sum < num:
    i += 1
    sum += i
print(i)
# for문
num = int(input())
sum = 0
for i in range(1, num+1):
    sum += i
    if (sum >= num):
        break
    print(i)  # i 출력은 break위에도 괜찮음

 

 

 

[81] 주사위를 2개 던지면?

1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자.

n, m = int(input().split())
for i in range(1, n+1):
    for j in range(1, m+1):
        print(i, j)

 

 

 

[82] 16진수 구구단

16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일(01)이는 16진수끼리 곱하는 16진수 구구단에 대해서 궁금해졌다.

A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자. (단, A ~ F 까지만 입력된다.)

num = int(input())
for i in range(1, 16):
    print('{}*{}={}'.format(num, hex(i)[2:].upper, hex(int, num, 16)*i[2:]))

 

 

 

[83] 3 6 9 게임의 왕이 되자

3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자.

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

 

 

 

[84] 빛 섞어 색 만들기

빨강(red), 초록(green), 파랑(blue) 빛을 섞어 여러 가지 빛의 색을 만들어 내려고 한다.

빨강(r), 초록(g), 파랑(b) 각각의 빛의 개수가 주어질 때, (빛의 강약에 따라 0 ~ n-1 까지 n가지의 빛 색깔을 만들 수 있다.)

주어진 rgb 빛들을 다르게 섞어 만들 수 있는 모든 경우의 조합(r g b)과 총 가짓 수를 계산해보자.

r, g, b = map(int, input().split())
sum = 0
for x in range(r):
    for y in range(g):
        for z in range(b):
            print(x, y, z)
            sum += 1
print(sum)

 

 

 

[85] 소리 파일 저장용량 계산하기

1초 동안 마이크로 소리강약을 체크하는 수를 h (헤르쯔, Hz 는 1초에 몇 번? 체크하는가를 의미한다.)

한 번 체크한 결과를 저장하는 비트 b (2비트를 사용하면 0 또는 1 두 가지, 16비트를 사용하면 65536가지..)

좌우 등 소리를 저장할 트랙 개수인 채널 c (모노는 1개, 스테레오는 2개의 트랙으로 저장함을 의미한다.)

녹음할 시간 s가 주어질 때, 필요한 저장 용량을 계산하는 프로그램을 작성해보자.

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