Programming/SW Expert Academy(69)
-
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