백준 스터디 3주차

이재윤·2022년 11월 25일
1

백준

목록 보기
3/4

단어 정렬

풀이 1 -> 시간 초과 에러

import sys

n = int(sys.stdin.readline().strip())
words = list(sys.stdin.readline().strip() for i in range(n))

words.sort()

for i in range(n):
    for j in range(i+1,n):
        if len(words[i]) > len(words[j]):
            tmp = words[i]
            words[i] = words[j]
            words[j] = tmp
for i in range(n):
    print(words[i])

풀이 2 from 구글링 ㅎㅎ,,

import sys

n = int(sys.stdin.readline())
words = list(sys.stdin.readline().strip() for i in range(n))

# set으로 중복 제거, set으로 냅두면 {}형이기 때문에 list로 다시 감싸준다
words = list(set(words))

words.sort()
# 길이로 정렬 가능 !!
words.sort(key = len)

for i in words:
    print(i)

#2839 설탕 배달

import sys
n = int(sys.stdin.readline())

cnt = 0
while n % 5 != 0 and n > 0:
    n -= 3
    cnt += 1
cnt += n // 5

if n % 5 == 0:
    print(cnt)
else:
    print(-1)

#1463 1로 만들기

import sys

n = int(sys.stdin.readline())

d = [0]*(n+1)
# 인덱스 : 숫자 n
# 값 : n의 d값 d[n]
# d[1] = 0, d[2] = 1

for i in range(2,n+1):
    d[i] = d[i-1]+1
    if i % 3 == 0:
        d[i] = min(d[i],d[i//3]+1)
    if i % 2 == 0:
        d[i] = min(d[i],d[i//2]+1)
print(d[n])

#1929번 소수 구하기

m,n = map(int,input().split())

for i in range(m,n+1):
    for j in range(2,i+1):
        if j == i:
            print(i)
        if i % j == 0:
            break
profile
하지만 중요한 건 꺾이지 않는 마음 #코드업100제 #백준

0개의 댓글