최빈수 구하기 (1204)
from collections import Counter
T = int(input())
for _ in range(T):
n = int(input())
numbers = list(map(int, input().split()))
answer = 0
counter = Counter(numbers).most_common()
counter.sort(key=lambda x: (-x[1], -x[0]))
print(f'#{n} {counter[0][0]}')
수도 요금 경쟁 (1284)
T = int(input())
for test_case in range(1, T + 1):
p, q, r, s, w = map(int, input().split())
answer = min(w * p, q + max(0, w - r) * s)
print(f"#{test_case} {answer}")
백만 장자 프로젝트 (1859)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
price = list(map(int, input().split()))
profit = 0
max_price = price[-1]
for i in range(n - 2, -1, -1):
if price[i] < max_price:
profit += (max_price - price[i])
else:
max_price = price[i]
print(f"#{test_case} {profit}")
간단한 369게임 (1926)
n = int(input())
word = ['3', '6', '9']
for i in range(1, n + 1):
count = 0
for w in word:
if w in str(i):
count += str(i).count(w)
if count == 0:
print(i, end=' ')
else:
print('-' * count, end=' ')
Base64 Decoder (1928)
T = int(input())
for test_case in range(1, T + 1):
s = input()
binary = ''
answer = ''
table = {"A": 0, "B": 1, "C": 2, "D": 3, "E": 4, "F": 5, "G": 6, "H": 7, "I": 8, "J": 9,
"K": 10, "L": 11, "M": 12, "N": 13, "O": 14, "P": 15, "Q": 16, "R": 17, "S": 18, "T": 19,
"U": 20, "V": 21, "W": 22, "X": 23, "Y": 24, "Z": 25, "a": 26, "b": 27, "c": 28, "d": 29,
"e": 30, "f": 31, "g": 32, "h": 33, "i": 34, "j": 35, "k": 36, "l": 37, "m": 38, "n": 39,
"o": 40, "p": 41, "q": 42, "r": 43, "s": 44, "t": 45, "u": 46, "v": 47, "w": 48, "x": 49,
"y": 50, "z": 51, "0": 52, "1": 53, "2": 54, "3": 55, "4": 56, "5": 57, "6": 58, "7": 59,
"8": 60, "9": 61, "+": 62, "/": 63}
for i in s:
binary += (bin(table[i])[2:]).zfill(6)
for i in range(0, len(binary), 8):
answer += chr(int(binary[i:i + 8], 2))
print(f"#{test_case} {answer}")
가랏! RC카! (1940)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
speed = 0
distance = 0
for _ in range(n):
command = input().split()
if command[0] == '0':
pass
elif command[0] == '1':
speed += int(command[1])
else:
speed = max(0, speed - int(command[1]))
distance += speed
print(f"#{test_case} {distance}")
간단한 소인수분해 (1945)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
answer = [0, 0, 0, 0, 0]
numbers = [2, 3, 5, 7, 11]
for i in range(4, -1, -1):
while n % numbers[i] == 0:
answer[i] += 1
n //= numbers[i]
print(f"#{test_case}", end=' ')
print(*answer)
간단한 압축 풀기 (1946)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
docs = ''
for _ in range(n):
c, k = input().split()
docs += c * int(k)
print(f'#{test_case}')
for i in range(0, len(docs), 10):
print(docs[i:i+10])
날짜 계산기 (1948)
T = int(input())
for test_case in range(1, T + 1):
a, b, c, d = map(int, input().split())
calendar = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
answer = d - b + 1
for i in range(a, c):
answer += calendar[i]
print(f"#{test_case} {answer}")
달팽이 숫자 (1954)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
board = [[0] * n for _ in range(n)]
num = 0
y = 0
x = -1
size = n
step = 1
while size > 0:
for _ in range(size):
x += step
num += 1
board[y][x] = num
size -= 1
for _ in range(size):
y += step
num += 1
board[y][x] = num
step *= -1
print(f"#{test_case}")
for b in board:
print(*b)
두 개의 숫자열 (1959)
T = int(input())
for test_case in range(1, T + 1):
n, m = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
answer = 0
for i in range(abs(n - m) + 1):
temp = 0
for j in range(min(n, m)):
if n > m:
temp += (a[j + i] * b[j])
else:
temp += (a[j] * b[j + i])
answer = max(answer, temp)
print(f'#{test_case} {answer}')
숫자 배열 회전 (1961)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
array = [list(map(int, input().split())) for _ in range(n)]
array1 = list(map(list, zip(*array[::-1])))
array2 = list(map(list, zip(*array1[::-1])))
array3 = list(map(list, zip(*array2[::-1])))
print(f"#{test_case}")
for j in range(n):
print(''.join(map(str, array1[j])), end=' ')
print(''.join(map(str, array2[j])), end=' ')
print(''.join(map(str, array3[j])))
숫자를 정렬하자 (1966)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
numbers = sorted(list(map(int, input().split())))
print(f'#{test_case}', end=' ')
print(*numbers)
쉬운 거스름돈 (1970)
T = int(input())
coins = [50000, 10000, 5000, 1000, 500, 100, 50, 10]
for test_case in range(1, T + 1):
money = int(input())
answer = []
for coin in coins:
answer.append(money // coin)
money %= coin
print(f'#{test_case}')
print(*answer)
스도쿠 검증 (1974)
T = int(input())
for test_case in range(1, T + 1):
board = [list(map(int, input().split())) for _ in range(9)]
flag = True
for i in range(9):
numbers = [0] * 10
for j in range(9):
numbers[board[i][j]] += 1
for k in range(1, 10):
if numbers[k] == 0:
flag = False
break
for i in range(9):
numbers = [0] * 10
for j in range(9):
numbers[board[j][i]] += 1
for k in range(1, 10):
if numbers[k] == 0:
flag = False
break
for k in range(0, 7, 3):
temp = 0
for i in range(k, k + 3):
for j in range(k, k + 3):
temp += board[i][j]
if temp != 45:
flag = False
break
if flag:
print(f"#{test_case} 1")
else:
print(f"#{test_case} 0")
시각 덧셈 (1976)
T = int(input())
for test_case in range(1, T + 1):
a, b, c, d = map(int, input().split())
hour = a + c
minute = b + d
if minute >= 60:
minute -= 60
hour += 1
if hour > 12:
hour -= 12
print(f"#{test_case} {hour} {minute}")
어디에 단어가 들어갈 수 있을까 (1979)
T = int(input())
for test_case in range(1, T + 1):
n, k = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]
answer = 0
for i in range(n):
count = 0
for j in range(n):
if board[i][j] == 1:
count += 1
else:
if count == k:
answer += 1
count = 0
if count == k:
answer += 1
for j in range(n):
count = 0
for i in range(n):
if board[i][j] == 1:
count += 1
else:
if count == k:
answer += 1
count = 0
if count == k:
answer += 1
print(f"#{test_case} {answer}")
중간 평균값 구하기 (1984)
T = int(input())
for test_case in range(1, T + 1):
scores = sorted(list(map(int, input().split())))
print(f'#{test_case} {round(sum(scores[1:9]) / 8)}')
지그재그 숫자 (1986)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
answer = 0
for i in range(1, n + 1):
if i % 2 != 0:
answer += i
else:
answer -= i
print(f'#{test_case} {answer}')
초심자의 회문 검사 (1989)
T = int(input())
for test_case in range(1, T + 1):
s = input()
answer = 0
if s == s[::-1]:
answer = 1
print(f'#{test_case} {answer}')
파리 퇴치 (2001)
T = int(input())
for test_case in range(1, T + 1):
n, m = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]
answer = 0
for i in range(n - m + 1):
for j in range(n - m + 1):
temp = 0
for y in range(i, i + m):
for x in range(j, j + m):
temp += board[y][x]
answer = max(temp, answer)
print(f"#{test_case} {answer}")
파스칼의 삼각형 (2005)
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
triangle = [[1 for j in range(i)] for i in range(1, n + 1)]
for i in range(2, n):
for j in range(1, i):
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
print(f"#{test_case}")
for t in triangle:
print(*t)
패턴 마디의 길이 (2007)
T = int(input())
for test_case in range(1, T + 1):
s = input()
target = ''
for i in range(1, 11):
if s[0:i] == s[i:i + i]:
target = s[0:i]
break
print(f'#{test_case} {len(target)}')
댓글