반응형 알고리즘250 [백준][Python] 21758번 꿀 따기 21758번: 꿀 따기 첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다. www.acmicpc.net 코드 from copy import deepcopy n = int(input()) h = list(map(int,input().split())) sum = deepcopy(h) ans = 0 for i in range(1,n): sum[i] += sum[i-1] #꿀통이 왼쪽 끝 for i in range(1,n-1): ans = max(ans, sum[-2] + sum[i-1] - h[i]) #꿀통이 오른쪽 끝 for i in range(1,n-1): ans = max(ans, sum[-1]-h[0] + sum[-1]-sum[i] - h[i]) #벌들이 양쪽 끝 for i in range(1,n-1):.. 2022. 4. 11. [백준][Python] 21314번 민겸 수 21314번: 민겸 수 민겸 수 하나가 주어진다. 민겸 수는 대문자 M과 K로만 이루어진 문자열이며, 길이는 3,000을 넘지 않는다. www.acmicpc.net 코드 def get_min(): cnt = 0 ans = [] for i in inp: if i == 'M': cnt += 1 elif i == 'K': if cnt != 0: ans.append(10**(cnt-1)) cnt = 0 ans.append(5) if cnt != 0: ans.append(10**(cnt-1)) return ans def get_max(): cnt = 0 ans = [] for i in inp: if i == 'M': cnt += 1 elif i == 'K': if cnt==0: ans.append(5) else:.. 2022. 4. 8. [백준][Python] 16953번 A → B 16953번: A → B 첫째 줄에 A, B (1 ≤ A b: err = 1 break if b % 2 == 0: b //=2 cnt+=1 elif b % 10 == 1: b //= 10 cnt+=1 else: err = 1 break if err == 1: print(-1) else: print(cnt+1) 설명 목표 수부터 거꾸로 거슬러 올라가서 만약 목표 수가 짝수이면 2로 나눠준 뒤 cnt를 증가시키고, 1의 자리수가 1이면 10으로 나눠주고 cnt를 증가시켰다. 만약 이 둘 중에 어디에도 속하지 않으면 이것은 그 수.. 2022. 4. 7. [백준][Python] 20365번 블로그2 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 코드 n = int(input()) n_list = input() color = [0,0] if n_list[0] == 'R': color[0]+=1 else: color[1]+=1 for i in range(1,n): if n_list[i] == 'R': if n_list[i-1] != n_list[i]: color[0]+=1 elif n_list[i] == 'B': if n_list[i-1] != n_list[i]: color[1]+=1 print(min(c.. 2022. 4. 6. 이전 1 ··· 44 45 46 47 48 49 50 ··· 63 다음 반응형