728x90 파이썬 그리디4 [이코테] 1이 될 때까지 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin = open("input.txt","rt") input = sys.stdin.readline n,k=map(int,input().split()) count=0 while True: # k로 최대한 많이 나눠야함! tmp=(n//k)*k count+=n-tmp # k배수로 만들고 남은만큼 다 1씩 빼기, n=tmp # n은 k배수로 갱신 if n Algorithm/이코테 2021. 8. 24. [이코테] 숫자 카드 게임 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin = open("input.txt","rt") input = sys.stdin.readline n,m=map(int,input().split()) # 버전 1 : 각 행의 min값을 모두 저장해둔다음 한번에 max값 구하기 data=[] for i in range(n): data.append(min(list(map(int,input().split())))) print(max(data)) # 버전 2 : 매 행 마다 직전 행의 최솟값과 비교하기 result=0 for i in range(n): target=min(list(map(int,input().split()))) result=max(target,result) #result = (result > t.. Algorithm/이코테 2021. 8. 24. [이코테] 큰 수의 법칙 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin=open("input.txt","rt") input = sys.stdin.readline n,m,k=map(int,input().split()) arr=sorted(list(map(int,input().split()))) max=arr[-1] max2=arr[-2] answer=(max*k + max2)*m//(k+1) + m %(k+1)*max print(answer) 🌈 해설 가장 큰 수를 k번 더하고, 다음 큰수를 한번 더해준다. 위를 한 세트로 반복해서 더 해줘야함! 남은 횟수는 가장 큰수들로 더해주면 됨~~ Algorithm/이코테 2021. 8. 24. [파이썬] '그리디' 개념 및 예제 그리디 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 코딩테스트에서의 그리디 유형 - 창의력, 문제를 풀기 위한 최소한의 아이디어 떠올릴 수 있는 능력 요구 특정 문제 만났을 때 단순히 현재 상황에서 가장 좋아 보이는 것만 선택해도 풀 수 있을 지 파악! ( 코테에서 어떤 문제가 바로 유형을 파악하기 어려우면 그리디 의심! 만약 그리디 해결방법 찾을 수 없다면, 다이나믹이나 그래프 알고리즘으로 해결할 수 있는지 고민) 그리디 알고리즘은 기준에 따라 좋은 것을 선택하므로, 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 제시해준다. -> 대체로 정렬 알고리즘 사용하면 됨! 짝꿍 :) 간단한 예시 - 거스름돈) n=1260 # 총 거스름돈 count=0 # 큰 단위인 500원 부터.. Algorithm/이론 2021. 2. 23. 이전 1 다음 728x90