본문 바로가기

Python/백준_파이썬 배우기

백준 파이썬 2675,2935,9498,10817,11653,1789,2753,10039

#2675

#최대 케이스의 개수 T
T = int(input())

for i in range(T):
    R,S = input().split()
    R = int(R)
    
    #for j in range(R)은 인덱스 오류 발생
    # 5 /htp
    #이렇게 입력했을 때, 인덱스의 길이는 4이기 때문에 S[3]까지 존재하는데, S[4]까지 5번 반복해야해서 인덱스 오류가 발생한다.
    for j in range(len(S)):
        print(S[j]*R , end='')

    print(" ")

#2935

A = int(input())
B = str(input())
C = int(input())

if (B=="*"):
    result = A*C
elif (B=="+"):
    result = A+C

print(result)

#9498

term = int(input())

if (90<=term<=100):
    print("A")
elif (80<=term<=89):
    print("B")
elif (70<=term<=79):
    print("C")
elif (60<=term<=69):
    print("D")
else: print("F")

#10817

intiger = map(int,input().split())

b = sorted(intiger)
print(b[1])

#11653

N = int(input())
S = 2

while (N!=1):
    if (N%S==0):
        N//=S
        print(S)
    else:
        S+=1

#1789

Q. 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

solve)

N의 최댓값을 구하는게 우리의 목적이다.

1+2 = 3

1+2+3 = 6 (2+4=6이지만 우리는 최댓값을 구하기 위해 1+2+3의 형식으로 더해나가야한다.)

1+2+3+4 = 10

1+2+3+4+5 = 15

1+...+6 = 21

.

.

.

무수히 이어지겠다. 

만약 S가 17일 때 N의 최댓값은 5일 것이다. 15<17<21이므로, 최댓값을 찾아야하기 때문에 n의 값은 5이다.

따라서 우리는 최대값을 구하기 위해 1부터 n까지 더했을 때의 합이 S보다 커야한다. 이때 도출된 값인 N에서 1을 빼준 (N-1)이 최종 답이 될 것이다.

sum = int(input())
n = 1

#while문은 조건문이 false가 되는 순간 stop
#1+..+n의 값이 sum보다 클 때 반복문이 종료된다.
while ((n*(n+1)) <= 2*sum):
    n += 1

print(n-1)

#2753

year = int(input())

if (year%4 == 0):
    if(year%100 !=0 or year%400 == 0):
        print(1)
    else: print(0)
else: print(0)

#10039

sum = 0

for i in range(5):
    student = int(input())

    if student < 40:
        student = 40

    sum += student

print(sum//5)