SW Expert Academy_D3 10505, 10200, 3376, 5642
2020-09-04 232 words
2 minutes
D3_10505_소득 불균형
1
2
3
4
5
6
7
8
9
for T in range ( int ( input ())):
N = int ( input ())
dp = [ 0 ] * 100001
Max = 0
for i in list ( map ( int , input () . split ())):
dp [ i ] += 1
Max += i
print ( f '# { T + 1 } { sum ( dp [: int ( Max / N ) + 1 ]) } ' )
D3_10200_구독자 전쟁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for T in range ( int ( input ())):
N , A , B = map ( int , input () . split ())
# 최소값 구하기
if A + B >= N :
Min = ( A + B ) - N
if A >= B :
Max = B
else :
Max = A
else :
Min = 0
if A >= B :
Max = B
else :
Max = A
print ( f '# { T + 1 } { Max } { Min } ' )
D3_3376_파도반 수열
1
2
3
4
5
6
7
for T in range ( int ( input ())):
Padovan = [ 1 , 1 , 1 , 2 ]
N = int ( input ())
for i in range ( N - 4 ):
Padovan . append ( Padovan [ i + 2 ] + Padovan [ i + 1 ])
print ( f '# { T + 1 } { Padovan [ N - 1 ] } ' )
D3_5642_합
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
T = int ( input ())
for T in range ( T ):
N = int ( input ())
Nums = list ( map ( int , input () . split ()))
result = 0
Sum = 0
flag = 0
for i in range ( N ):
Sum = Sum + Nums [ i ]
if Sum < 0 :
Sum = 0
elif Sum > result :
result = Sum
if Nums [ i ] < 0 :
flag += 1
if flag == N :
result = max ( Nums )
print ( f '# { T + 1 } { result } ' )
# 모두 음수인 경우를 생각해야 한다... 이거 생각하는데 40분 걸렸따...