hugo 기술 블로그 개설 방법을 정리합니다.
D3_5948_새샘이의 7-3-5 게임
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
for T in range(int(input())):
N = list(map(int, input().split()))
result = set()
for i in range(5):
for j in range(i+1, 6):
for x in range(j+1, 7):
result.add(N[i]+N[j]+N[x])
result = list(result)
result.sort()
print('#{} {}'.format(T+1, result[-5]))
# 3수의 합을 정리하는데 set으로 중복을 제거하는 방법으로 result set을 정리
# set은 순서가 없기 때문에 result를 다시 list로 정리하고 .sort를 이용해 순서대로 나열 후 출력
|
D3_6190_정곤이의 단조 증가하는 수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
for T in range(int(input())):
N = int(input())
L = list(map(int, input().split()))
result = -1
for i in range(N-1):
for j in range(i+1, N):
num = str(L[i]*L[j])
if len(num) > 1 and '0' not in num and result < int(num) and list(num) == sorted(num):
result = int(num)
print(f'#{T+1} {result}')
# 단조증가하는 지를 검증하는 방법으로 sorted를 썼는데 이를 활용하기 위해서는 str형태로 변경해야 검증이 가능하다.
# 한자리 숫자는 단조증가하는 수가 아니다.
# 중간에 0이 있다면 볼 필요도 없이 단조증가수가 아니기 때문에 처리 속도 증가가 가능하다.
|
D3_9700_USB 꽂기의 미스터리
1
2
3
4
5
6
7
8
9
10
11
|
for T in range(int(input())):
p, q = map(float, input().split())
s1 = (1-p)*q
s2 = p*(1-q)*q
if s1 < s2:
print(f'#{T+1} YES')
else:
print(f'#{T+1} NO')
# 단순 수학을 통해 해결.
|
D3_7675_통역사 성경이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
for T in range(int(input())):
N = int(input())
sent = input()
sent = sent.replace('.', ' @').replace('!', ' @').replace('?', ' @').split()
#print(sent)
result = ""
count = 0
for i in sent:
if i.isalpha() and i == i.capitalize():
count += 1
if i == '@':
result += str(count) + ' '
count = 0
print("#{} {}".format(T+1, result))
# 주어지는 문장을 띄어쓰기를 기준으로 나누기 위해 .split()을 사용하고
# 문제에서 주어진 `이름`의 조건이 `첫 알파벳이 대문자이고 나머진 소문자`이기 때문에
# 문자로만 이루어져있는 것인지 .isalpha()로 검증 (VS .isdigit() 주어진 문자열이 숫자인지 검증)
# `이름`의 조건이 맞는지 .capitalize()로 검증
# 추가 공부 내용
# upper - 주어진 문자열에서 모든 알파벳들을 대문자로 변환시킨다.
# capitalize - 주어진 문자열에서 맨 첫 글자를 대문자로 변환하고 나머지는 소문자로 변환시킨다.
# title - 주어진 문자열에서 알파벳 외의 문자(숫자, 특수기호, 띄어쓰기 등)로 나누어져 있는 영단어들의 첫 글자를 모두 대문자로 변환시킨다.
# .isalpha()와 .capitalize()를 알고나면 간단해지는 문제.
|