백준 스터디 4

파푸·2022년 12월 3일

7568 덩치

n = int(input())
arr = []
rankarr = []
for i in range(n):
    a, b = map(int, input().split())
    arr.append((a,b))
   
for i in range(n):
    cnt = 0
    for j in range(n):
        if(arr[i][0] < arr[j][0] and arr[i][1] < arr[j][1]):
            cnt = cnt + 1
    rankarr.append(cnt + 1)
for i in rankarr:
    print(i, end=" ")

각 사람의 체격을 하나하나 비교해서 자신보다 덩치 큰 사람의 숫자를 세준다.

2018 수들의 합 5

n = int(input())
snum = 1
enum = 1
ans = 0
ansnum = 1
while enum != n:
    if ansnum < n:
        enum += 1
        ansnum += enum
    elif ansnum >n:
        ansnum -= snum
        snum += 1
    else :
        ans += 1
        enum += 1
        ansnum += enum
print(ans + 1)

enum이 n이 아닐때 까지 반복한다.
ansnum이 n보다 클때, n보다 작을 때, n이랑 같을 때 각각 세서 ans구해준다.

1789 수들의 합

s = int(input())
n = 1
while n*(n+1) / 2 <= s:
    n += 1
print(n-1)

n*(n+1)/2가 s보다 커질때 까지 반복, n을 1씩 증가시켜서 구한다.

1417 국회의원 선거

n = int(input())
giho1 = int(input())
giho2 = []
cnt = 0
for i in range(n-1):
    giho2.append(int(input()))
giho2.sort(reverse=True)
if n == 1:
    print(0)
else :
    while(giho2[0] >= giho1):
        giho1 += 1
        giho2[0] -= 1
        cnt += 1
        giho2.sort(reverse=True)
    print(cnt)

1번 찍으려고 하는 사람이랑 아닌 사람들 구분
내림차순 정렬 후, else에서 매수한다.

profile
졸업하고싶다.

1개의 댓글

comment-user-thumbnail
2022년 12월 7일

Thanks for sharing that. Optonline Mail Login

답글 달기