2021-07-03-토 문제풀기

골솔·2021년 7월 3일
0

알고문제풀기

목록 보기
18/27

프로그래머스

정수 삼각형

def solution(triangle):
    n = len(triangle)
    for i in range(1, n):
        for j in range(i+1):
            if j==0:
                triangle[i][j] += triangle[i-1][j]
            elif j==i:
                triangle[i][j] += triangle[i-1][j-1]
            else:
                triangle[i][j] += max(triangle[i-1][j-1],triangle[i-1][j])
    answer = max(triangle[n-1])
    return answer

구명보트

def solution(people, limit):
    answer = 0
    people.sort()
    left = 0
    right = len(people)-1
    while left<=right:
        if people[left]+people[right] <=limit:
            left+=1
            right-=1
            answer+=1
        else:
            right-=1
            answer+=1        
    return answer
# ▽ 이렇게 풀면 효율성 틀렸음 ,,
while True:
	n = len(people)
    if n==0:
    	break
    if people[n-1] + people[0] <= limit:
        people = people[1:n-1]
    else:
        people = people[:n-1]
    answer+=1
profile
골때리는이솔

0개의 댓글