백준파이썬 3

백준 14719 빗물

h,w = map(int,input().split()) n= list(map(int,input().split())) ans = 0 for i in range(1,w-1): left= max(n[:i]) right = max(n[i:]) m= min(left,right) if m>n[i]: ans += m-n[i] print(ans) 1.세로,가로 h,w 수 입력 2.높이는 list로 저장 3.ans에 출력값(초기값: 0) 4.for문은 첫번째 즉,n[0] 마지막 n[-1]을 제외하고 돌린다. 5.i일때 왼쪽.오른쪽 중 max값을 보고, 그중 높이가 낮은 m을 골라낸다. 6.이때, m이 현재 수보다 크면 m에서 현재수를 빼고 ans에 더해서 저장. 7.ans출력

백준 파이썬 2309번 파이썬 문제풀이(일곱난쟁이)

array=[] for i in range(9): n = int(input()) array.append(n) array.sort() hab = sum(array) for j in range(len(array)): for k in range(j+1,len(array)): if hab - array[j]-array[k] ==100: for l in range(len(array)): if j==l or k ==l: pass else: print(array[l]) 난쟁이 9명 중에 7명을 뽑아서 그 합이 100 이 되면 그 7개의 값을 보여주면 되는 문제이다. 7개를 어떻게 뽑아야 하는지 한참 고민했다. 일단 입력을 총 9개를 받고 list에 저장한다. 그리고 정렬 및 합을 구해놓는다. 9명중에 2명을 뽑아서 ..

반응형