1078 : [기초-종합] 짝수 합 구하기(설명)

for 반복문으로 1부터 입력받은 수까지 반복하고, 반복문 안에서 짝수일 경우 그 숫자들의 합을 누적하여 저장한다.

n = int(input())
s = 0
for i in range(1,n+1):
    if i % 2 == 0:
        s += i
print(s)

 

1079 : [기초-종합] 원하는 문자가 입력될 때 까지 반복 출력하기(설명)

입력값들을 변수 하나에 공백으로 분리하여 입력받고, 입력 받은 문자 수만큼 반복하여 각 문자를 각 줄에 출력하고, q를 확인하면 반복문을 종료한다.

chars = input().split()
for i in chars:
    print(i)
    if i == 'q':
        break

 

1080 : [기초-종합] 언제까지 더해야 할까?

정수를 입력받아, 1부터 그 정수 만큼 반복하며 합을 누적한다. 누적된 합이 입력받은 정수보다 같거나 커지면 마지막으로 더한 정수를 출력하고 반복문을 종료시킨다.

n = int(input())
s = 0
for i in range(1, n):
    s += i
    if s >= n:
        print(i)
        break

 

1081 : [기초-종합] 주사위를 2개 던지면?(설명)

첫 번째 주사위 면이 1부터 n일 때 각 면의 주사위 숫자에 두번째 주사위 1부터 m이 조합될 수 있다. 1부터 n 까지 반복하면서 그 안에서 1부터 m까지 반복하여 첫번째 주사위 면이 1일때 두번째 주사위 면이 1, 2, 3, ... , m인 경우를 모두 출력할 수 있다.

n, m = map(int, input().split())

for i in range(1, n+1):
    for j in range(1, m+1):
        print(i,j)

 

1082 : [기초-종합] 16진수 구구단?

입력 받은 값을 1부터 F까지 반복하여 계산하여 출력하면 된다. 출력 예시를 보니 16진수 인데, 0x가 안붙어 있고, 다 대문자로 출력되어 있어서, 출력값을 문자열로 바꿔서 인덱스 슬라이싱과 .upper()을 통해 출력 형태를 예시와 동일하게 맞췄다.

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

 

1083 : [기초-종합] 3 6 9 게임의 왕이 되자!(설명)

1부터 입력값까지 반복하는 코드를 작성하고, 반복문 안에서 현재 값이 3 또는 6또는 9면 or연산을 이용하여 X를 출력하고 continue를 이용하여 반복 처음을 돌아가고, 3, 6, 9가 아니라면 그 숫자를 출력한다. 출력은 한 줄로 한 칸 씩 띄워서 하므로 end = ' '를 사용하였다.

n = int(input())
for i in range(1,n+1):
    if i == 3 or i == 6 or i == 9:
        print('X', end = ' ')
        continue
    print(i, end=' ')

 

1084 : [기초-종합] 빛 섞어 색 만들기(설명)

r, g, b는 각각 하나라도 다른 값을 가지면 다른 색을 만들수 있으므로 0부터 각 색에 대한 입력값까지 3번 중첩하여 반복하면 모든 경우의 수를 출력할 수 있고, 각 경우의 조합을 출력할때 가지수를 세는 변수를 만들어 1씩 누적한후 마지막에 누적한 값을 출력하면 된다.

r, g, b = map(int, input().split())
cnt = 0

for i in range(0, r):
    for j in range(0, g):
        for k in range(0, b):
            print(i,j,k)
            cnt += 1
print(cnt)

 

1085 : [기초-종합] 소리 파일 저장용량 계산하기(설명)

입력받은 h,b,c,s를 위에서 제시한 계산식에 넣어 계산하고, MB단위로 맞추면 된다. 위 제시한 계산식에 넣어 계산했을 때의 단위는 bit이기 때문에 MB 단위로 표현하려면 8로 한번 나누고, 1024로 두번 나눈 후 소수점 첫째자리까지 출력하면 된다.

h, b, c, s = map(int, input().split())
pcm = h * b * c * s
mb = pcm / 8 / 1024 / 1024
print(format(mb, '.1f'), 'MB')

 

1086 : [기초-종합] 그림 파일 저장용량 계산하기(설명)

입력 값들을 문제에서 제시한 계산식에 넣어 계산 한 뒤 MB단위로 바꾸면 된다. 계산식에 넣어 계산하면 단위가 비트이기 때문에 8로 나눈 후 1024로 두번 나누면 된다.

w, h, b = map(int, input().split())
bit = w * h * b
mb = bit / 8 / 1024 /1024
print(format(mb,'.2f'), 'MB')

 

1087 : [기초-종합] 여기까지! 이제 그만~(설명)

1 부터 입력값 만큼 반복하며 각 숫자의 합을 누적한다. 누적한 값이 입력한 값과 같아지거나 더 커지면 break로 반복문을 종료하고 누적했던 값을 출력한다.

n = int(input())
s = 0

for i in range(1, n+1):
    s += i
    if s >= n:
        break
print(s)

 

1088 : [기초-종합] 3의 배수는 통과?(설명)

for 반복문으로 1부터 입력 받은 숫자까지 출력하는데, 3의 배수이면 continue로 숫자를 출력하지 않고, 반복문 처음으로 돌아간다.

n = int(input())

for i in range(1, n+1):
    if i % 3 == 0:
        continue
    print(i, end = ' ')

 

1089 : [기초-종합] 수 나열하기1

수학에서 등차수열 n번째 항을 구하는 공식을 이용하여 풀었다.

a, d, n = map(int, input().split())

an = a + (n-1)*d
print(an)

 

1090 : [기초-종합] 수 나열하기2

수학에서 등비수열의 n번째 항을 구하는 공식을 이용하여 풀었다.

a, r, n = map(int, input().split())
an = a * r ** (n-1)
print(an)

 

1091 : [기초-종합] 수 나열하기3

시작 값에 어떤 값을 곱하고, 더하는 행위를 계속 반복하므로 n번째 반복했을때의 수를 구하는 것이므로 반복문으로 n번째 까지 반복한 값을 출력했다.

a, m, d, n = map(int, input().split())

for i in range(n-1):
    a = m * a + d

print(a)

 

1092 : [기초-종합] 함께 문제 푸는 날(설명)

가입한 다음 모두 같이 함께 방문하는 날은 각 방문 주기의 최소 공배수 이다. for문으로 하루씩 증가시키면서 and연산으로 방문 주기의 최소공배수를 출력하면 된다.

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

 

1093 : [기초-1차원 배열] 이상한 출석번호 부르기1(설명)

무작위로 부른 출석 번호를 입력 받아 리스트로 만들고, 23개의 요소가 0으로 채워진 리스트를 만들어 23번 반복하며 리스트의 각 요소를 무작위로 부른 리스트에서 각 번호가 몇번 불러졌는지 .count로 세서 넣었다.

n = int(input())
num = map(int, input().split())
num = list(num)
num_li = [0]*23

for i in range(len(num_li)):
    num_li[i] = num.count(i+1)

for i in num_li:
    print(i, end = ' ')

 

1094 : [기초-1차원 배열] 이상한 출석번호 부르기2(설명)

리스트는 list.reverse()와 같은 형식으로 거꾸로 뒤집을 수 있다. 무작위로 부른 번호를 리스트로 만들고 거꾸로 뒤집은 후 출력하면 된다.

n = int(input())
num = map(int, input().split())
num_li = list(num)
num_li.reverse()

for i in num_li:
    print(i, end=' ')

 

1095 : [기초-1차원 배열] 이상한 출석번호 부르기3(설명)

list.sort()와 같이 사용하면 리스트가 오름차순으로 정렬된다. 무작위로 부른 번호들을 리스트로 만들어 오름차순으로 정렬한 후 첫번째 요소를 출력하면 된다.

n = int(input())
num = map(int, input().split())
num_li = list(num)
num_li.sort()
print(num_li[0])

 

1096 : [기초-2차원 배열] 바둑판에 흰 돌 놓기(설명)

19 * 19 크기의 2차원 리스트의 모든 요소를 다 0으로 초기화 하고, 흰돌의 개수를 입력 받고, 개수 만큼 반복하여 해당 위치의 요소를 1로 바꿨다. for 문 2중 중첩으로 2차원 리스트의 모든 요소를 바둑판 모양으로 출력하였다.

n = int(input())
pan = [[0]*19 for i in range(19)]

for i in range(n):
    x, y = map(int, input().split())
    pan[x-1][y-1] = 1
    
for i in range(19):
    for j in range(19):
        print(pan[i][j], end = ' ')
    print()

+ Recent posts