728x90
반응형
우선, 제가 적은 정답입니다.
먼저 값 2줄을 읽어옵니다.
원리는 아래에 설명드리겠습니다.
A,B =map(int,input().split())
L=list(map(int,input().split()))
num1=0
num2=0
num3=0
maxVal=0
for N1 in range(A-2):
num1=L[N1]
for N2 in range(N1+1,A-1):
num2=L[N2]
for N3 in range(N2+1,A):
num3=L[N3]
list3=[num1,num2,num3]
if sum(list3) > maxVal and sum(list3)<=B:
maxVal=sum(list3)
print(maxVal)
우선 글로 제가 풀었던 과정을 적어보려고 합니다. (제가 초보라 복습 겸)
먼저 숫자3개만 고르는 조합인데,
중복이 아닌 조합을 그려보니 3중 for문으로 하면되겠다는것을 알았고
다시 자세히 그림을 그려서 for에 들어갈 범위를 정확하게 인지하고 그대로 적었습니다.
코드를 좀 넓게 적어서 소요시간이 제법 걸렸지만(92ms) ,
초보 단계이고 이해를 위해 그림 그대로 적다보니 최적화는 간단하지만 아직 엄두가 잘 안나네요^^
숫자 A가 1~ N-2까지 증가하고
숫자 B가 2~ N-1까지 증가하면서
그린 샘플표를 보면 이해하시기 바랍니다.
728x90
반응형
'코딩테스트 > PYTHON' 카테고리의 다른 글
백준 11399번 파이썬 풀이 (0) | 2023.03.14 |
---|---|
백준 2738번 파이썬 풀이 (0) | 2023.03.13 |
백준 1546번 파이썬 풀이 (0) | 2023.03.12 |
백준 10811번 파이썬 풀이 (0) | 2023.03.12 |
백준 3052번 파이썬 풀이 (0) | 2023.03.12 |
댓글