Programming(106)
-
20200723 // 삼성 SW Expert 아카데미 문제 // 1206
삼성 SW Expert 아카데미 1206번 "View" 문제입니다. for tc in range(1, 11): N = int(input()) lst = list(map(int, input().split())) build_sum = 0 for i in range(2,N-2): if lst[i] != max(lst[i-2:i+3]): continue else: if lst[i] - lst[i-2] >=1 and lst[i] - lst[i-1] >=1 and lst[i] - lst[i+1] >=1 and lst[i] - lst[i+2] >=1: build_sum += lst[i] - max(lst[i-2], lst[i-1], lst[i+1], lst[i+2]) print("#%s"%tc, build_sum 크..
2020.07.23 -
20200722 // 삼성 SW Expert 아카데미 문제 // 9700
삼성 SW Expert 아카데미 9700번 "꽂기의 미스터리" 문제입니다. TC = int(input()) for tc in range(1, TC+1): p, q = map(float, input().split()) s1 = (1-p) * q s2 = p * (1-q) * q if s1
2020.07.22 -
20200721 // 삼성 SW Expert 아카데미 문제 // 10200
삼성 SW Expert 아카데미 10200번 "구독자 전쟁" 문제입니다. TC = int(input()) for tc in range(1, TC+1): N,A,B = map(int, input().split()) maxSub = min(A,B) // 둘 중 적은 쪽이 양쪽 다 구독할 수 있는 최대 인원수 minSub = max(A+B-N, 0) // 둘을 더했을 때 전체 인원보다 적으면 겹치는 사람이 없을 수 있으므로 0명, 넘으면 넘는만큼 겹치는 사람 생기는 것이 최소이므로 A+B-N print("#%s"%tc, maxSub, minSub)
2020.07.21 -
20200721 // 삼성 SW Expert 아카데미 문제 // 1859
삼성 SW Expert 아카데미 1859번 "백만장자 프로젝트" 문제입니다. TC = int(input()) for tc in range(1, TC+1): N = int(input()) lst = list(map(int, input().split()))[::-1] // 받은 input 값을 뒤집음 margin = 0 // 이익 변수 0으로 초기화 maxVal = lst[0] // 리스트의 0인덱스 값(input값의 마지막값) for i in range(1, N): if maxVal > lst[i]: // 파는 값이 더 리스트 다음 값보다 크면 그 값으로 팔아서 마진을 남긴다 margin += maxVal - lst[i] else: maxVal = lst[i] // 작을 경우 파는 값 교체 print("#..
2020.07.21