[코테 준비 : day11]

Choi·2023년 7월 7일
0

코딩테스트 준비

목록 보기
11/22

실버2..? 저어어어어기 금색이 보이는 듯한데!

  1. 분해합
    https://www.acmicpc.net/problem/2231

    간단하쥬?
n = int(input())
result = 0
for i in range(1, n+1):
    nums = list(map(int, str(i)))
    result = sum(nums) + i
    if result == n:
        print(i)
        break
    if i == n:
        print(0)
  1. 일곱 난쟁이
    https://www.acmicpc.net/problem/2309

    combinations은 정말 유용하다. 내장함수를 잘 알고 있는 것은 중요하다!
import itertools

array = [int(input()) for _ in range(9)]

for i in itertools.combinations(array, 7):  # 해당 배열을 7명 중복없이 뽑아준다.
    if sum(i) == 100:  # 그합이 100이라면
        for j in sorted(i):  # 그 7명을 오름차순으로 정렬후 출력한다.
            print(j)
        break #그 후 반복문 탈출
  1. ATM
    https://www.acmicpc.net/problem/11399

정렬 후 sum!

n = int(input())  # 첫째줄 입력
peoples = list(map(int, input().split()))  # 기다리는 사람들 리스트 형태로 입력 받음

peoples.sort()  # 작은 순서대로 정렬
answer = 0  # 정답 변수를 0으로 만듭니다.

for x in range(1, n+1):
    answer += sum(peoples[0:x])  # 리스트의 0번째 수부터 x번째 수까지를 더해줍니다.
print(answer)  # 정답 제출
  1. 1,2,3 더하기
    https://www.acmicpc.net/problem/9095

    dp문제!
T = int(input())

for i in range(T) :
    n = int(input())
    dp = [0]*(n+1)
    if n == 1 :
        print(1)
    elif n == 2 :
        print(2)
    elif n == 3 :
        print(4)
    else :
        dp[1] = 1
        dp[2] = 2
        dp[3] = 4
        for j in range(4,n+1) :
            dp[j] = dp[j-1] + dp[j-2] + dp[j-3]
        print(dp[n])
        
  1. 소트인사이드
    https://www.acmicpc.net/problem/1427

    easy..
n = int(input())
 
li = []
for i in str(n):
    li.append(int(i))
    
li.sort(reverse=True) # 내림차순
 
for i in li:
    print(i,end='')
profile
느려도 내 것으로 만드는게 좋잖아?

0개의 댓글