백준 스터디 2

파푸·2022년 11월 17일

2751번 수 정렬하기2

n = int(input())
arr = []
for i in range(n):
    arr.append(int(input()))
arr = sorted(arr)
for i in arr:
    print(i)

정렬함수 너무 편하다....

1065번 한수

n = int(input())
cnt = 0
for i in range(1, n+1):
    if i<100:
        cnt+=1
    elif i<1000:
        if(i%10-i//10%10 == i//10%10-i//100):
            cnt+=1
print(cnt)

3자리수일때, 100의 자리와 10의 자리, 10의 자리와 1의 자리 수를 비교해주면 된다. i%10 은 1의 자리 나머지가 나온다.
i//10%10은 10으로 나눈 몫 (100의자리와 10의자리 남음)을 10으로 나눠 나머지를 구하는 것이므로 10의 자리가 나온다.
i//100은 100으로 나눈 몫이므로 100의 자리가 나온다.
이 3개를 비교해주면 된다.

1269번 대칭 차집합

anum, bnum = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
ab = list(set(a)-set(b))
ba = list(set(b)-set(a))
print(len(ab)+len(ba))

set함수를 알고 내 인생이 달라졌다.

1476번 날짜 계산

a, b, c = map(int, input().split())
cnt = 1
while(1):
    if(((cnt-a)%15==0)and((cnt-b)%28==0)and((cnt-c)%19==0)):
        break
    cnt = cnt + 1
print(cnt)

연도가 다른 3가지의 수와 다 나누어 떨어져야 한다.
연산 순서를 까먹고 cnt-a%15==0이라 해서 a%15가 먼저 계산됐다.
그래서 계속 시간초과가 떠서 곰곰히 생각해보니까 나머지 계산이 먼저였다.

profile
졸업하고싶다.

0개의 댓글