inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1-9. 알고리즘 더 풀어보기 (1)

1-9 알고리즘 문제 다른 코드

해결된 질문

208

깡패 햄스터

작성한 질문수 7

2

1. 현재 학습 진도

1-9 알고리즘 더 풀어보기 (1)

 

2. 어려움을 겪는 부분

문제의 조건이 모든 연산은 왼쪽에서 순서대로 이루어진다. 라고 되어있어, 연산을 해야하는 순간에 가장 최대가 될 수 있는 연산만 골라서 계산한다 라고 떠올려보았습니다.

그렇다면 해당 문제를 greedy로 생각해봐도 괜찮을까요?

 

아직 진도 초반이지만, 평소 코테 문제를 볼 때 어느 부분에 힌트를 잡고 어떤 알고리즘으로 풀어야하는지에 대해 감이 없는 상태라서 이런 문제들(연산이 순서대로 된다던지, 거스름돈 문제처럼 단위가 결정된다던지)은 greedy로 보면 되는지 여쭙고싶습니다.


아래는 풀이한 코드입니다.

def find_max_plus_or_multiply(array):
    answer = array[0]
    for n in range(1,len(array)):
        if answer + array[n] > answer * array[n]:
            answer += array[n]
        else:
            answer *= array[n]
    return answer


result = find_max_plus_or_multiply
print("정답 = 728 현재 풀이 값 =", result([0,3,5,6,1,2,4]))
print("정답 = 8820 현재 풀이 값 =", result([3,2,1,5,9,7,4]))
print("정답 = 270 현재 풀이 값 =", result([1,1,1,3,3,2,5]))

 

python 코딩-테스트 알고리즘 data-structure

답변 1

2

딩코딩코

안녕하세요 깡패 햄스터님!! 좋은 질문 감사합니다

넵 햄스터님의 말씀이 정확합니다!

그리디(Greedy) 알고리즘은 "현재 상황에서 가장 최적의 선택"을 하는 알고리즘입니다. 이 문제는 그리디 알고리즘을 적용하기에 아주 좋은 예시입니다.

문제의 핵심 포인트:

  • 연산은 왼쪽에서 오른쪽으로 순서대로 진행됩니다.

  • 각 단계에서 '+' 또는 '*' 연산 중 최대값을 선택해야 합니다.

그리디 알고리즘을 고려해볼 만한 문제의 특징:

  • 순서가 중요한 경우

  • 각 단계에서 최선의 선택이 전체 최적해로 이어질 수 있는 경우

즉, 이 문제는 그리디 알고리즘의 예시로 볼 수 있습니다! 좋은 질문 감사합니다

수강평 이벤트

0

34

2

코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요

0

70

2

3-3 정렬-2 선택정렬 로직

0

43

2

링크드 리스트 끝에서 k번째 값 출력하기

0

46

2

LinkedList 과제 Fast, slow 포인터

0

50

2

투포인터 시간복잡도

0

53

2

수강평 작성 후 자료

0

53

2

수업교재 링크 오류

2

114

2

프로그래머스에서 제출 후 채점시 틀림ㅠ

0

133

2

1-10 알고리즘 더 풀어보기(2) 질문 있습니다

0

76

2

문제 풀이 방식 관련 질문입니다!

0

88

2

1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다

0

94

2

수업자료 pdf 받고싶습니다

0

108

2

강의 자료 오류 수정

0

75

1

2-10 더하거나 빼거나 관련 질문입니다

0

63

2

3-8 해쉬 -2

0

49

2

Linked List Element Delete Explanation Problem

0

69

2

강의3-4 스택 탑 문제

0

74

2

코드스니펫 입출력 케이스에 오류가 있는것 같아요

0

100

3

링크드 리스트 원소 찾기 구현 방식 질문드립니다.

0

76

2

1874 - 스택 문항

0

81

2

DP Java 예제 자료형 오버플로우 문제

0

100

2

4-9 4주차 숙제중 농심라면 문제

0

111

2

DFS 에서 스택을 사용하는 이유

1

187

3