🔗 문제 링크
T = int(input())
answer = []
for _ in range(T):
a, b, c, d = map(int, input().split())
alice = a / b * 100
bob = c / d * 100
result = ''
if alice > bob:
result += "ALICE"
elif alice < bob:
result += "BOB"
else:
result += "DRAW"
answer.append(result)
for i in range(T):
print(f"#{i + 1} {answer[i]}")
🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
cards = {'S': [], 'D': [], 'H': [], 'C': []}
current = input()
flag = True
for i in range(0, len(current), 3):
card = current[i:i + 3]
cards[card[0]].append(int(card[1:]))
for i in cards:
if cards[i] != list(set(cards[i])):
flag = False
print(f"#{test_case}", end=' ')
if not flag:
print("ERROR")
else:
for i in cards:
print(13 - len(cards[i]), end=' ')
print()
S
, D
, H
, C
)별로 가지고 있는 카드 숫자를 cards
에 저장한다.flag
를 False
로 변경하여 "ERROR"
를 출력한다.13 - 카드의 개수
를 한 값을 출력한다.🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
d, h, m = map(int, input().split())
day = d - 11
hour = h - 11
minute = m - 11
if minute < 0:
hour -= 1
minute += 60
if hour < 0:
day -= 1
hour += 24
if day >= 0:
print(f"#{test_case} {day * 24 * 60 + hour * 60 + minute}")
else:
print(f"#{test_case} -1")
🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
word = input()
answer = ''
for w in word:
if w not in ['a', 'e', 'i', 'o', 'u']:
answer += w
print(f"#{test_case} {answer}")
answer
에 더해서 출력한다.🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
n, k = map(int, input().split())
scores = list(map(int, input().split()))
scores.sort(reverse=True)
answer = 0
for i in range(k):
answer += scores[i]
print(f"#{test_case} {answer}")
k
개만큼의 점수만 더한다.🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
s = input()
hyphen = int(input())
position = list(map(int, input().split()))
new = [[] for _ in range(len(s) + 1)]
for i in range(len(s)):
new[i + 1].append(s[i])
for p in position:
new[p].append('-')
answer = ''
for i in new:
answer += ''.join(map(str, i))
print(f"#{test_case} {answer}")
wow
, 하이픈 삽입 위치가 2, 3, 2
로 주어진 경우, 하이픈을 모두 삽입하고 난 뒤의 문자열은 wo--w-
가 된다.new
를 따로 만들어서 이용해서 풀었다.문자열의 길이 + 1
개의 리스트를 선언하였다.wow
인 경우 new
는 [[], [], [], []]
로 만들어주었다.new
리스트에 위치별로 삽입해주었다.[[], ['w'], ['o'], ['w']]
append()
메소드를 이용하여 하이픈을 추가해주었다.[[], ['w'], ['o', '-', '-'], ['w', '-']]
join()
을 이용하여 문자열로 만들어서 출력하면 된다.🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
a, b, c = map(int, input().split())
answer = c // min(a, b)
print(f"#{test_case} {answer}")
🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
n, k = map(int, input().split())
students = [0] * (n + 1)
homework = list(map(int, input().split()))
for h in homework:
students[h] += 1
print(f"#{test_case}", end=' ')
for idx in range(1, n + 1):
if students[idx] == 0:
print(idx, end=' ')
print()
students
리스트를 0
으로 초기화해둔 뒤, 과제를 제출한 학생의 인덱스에 해당하는 students
값을 1
로 만든다.students
값을 검사하여 0
값을 갖는 학생 번호를 출력한다.🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
if n % 2 == 0:
print(f'#{test_case}', "Even")
else:
print(f'#{test_case}', "Odd")
🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
n, q = map(int, input().split())
answer = [0] * (n + 1)
for i in range(1, q + 1):
l, r = map(int, input().split())
for j in range(l, r + 1):
answer[j] = i
print(f"#{test_case}", end=' ')
print(*answer[1:])
🔗 문제 링크
from itertools import combinations
T = int(input())
for test_case in range(1, T + 1):
numbers = list(map(int, input().split()))
answer = []
for combi in list(combinations(numbers, 3)):
answer.append(sum(combi))
answer = sorted(set(answer), reverse=True)
print(f"#{test_case} {answer[4]}")
combinations
를 이용하여 세 개의 수로 이루어진 모든 조합을 구한 뒤, 각 조합들의 합을 answer
에 추가한다.set(answer)
를 이용하여 중복을 제거한 뒤, 내림차순으로 정렬하여 다섯 번째로 큰 수를 구하기 위해 answer[4]
를 출력한다. 🔗 문제 링크
T = int(input())
for test_case in range(1, T + 1):
n = int(input())
answer = 0
for _ in range(n):
p, x = input().split()
answer += float(p) * int(x)
print(f"#{test_case} {answer:.6f}")