inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

6. 최대점수 구하기(냅색알고리즘)

냅색알고리즘(최대점수 구하기)질문드립니다.

408

태호

작성한 질문수 11

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

입력값 n과m의 최대가 (50*300 = 15000)이라서

브루트포스 (15000 * 15000 = 1억초과)를 사용하지 못하는 건가요???

java 코딩-테스트

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

냅색 알고리즘에서 최대 점수를 구하는 문제를 해결하기 위해서는 모든 가능한 조합을 탐색해야 합니다. 그래서 입력값 n과 m이 각각 최대 50과 300이라고 가정할 때, 브루트포스 방식으로 해결하려면 50 * 300 개의 경우를 모두 탐색해야 하므로 연산 횟수가 매우 많아집니다 (1억 이상이 될 수 있음).

따라서 브루트포스 방식으로 해결하기에는 연산량이 너무 많아서 효율적인 해결책이 아닙니다. 대신에, 동적 계획법(Dynamic Programming, DP)을 사용하면 더 효율적으로 문제를 해결할 수 있습니다. DP를 사용하면 중복되는 계산을 피할 수 있고, 연산 시간을 줄일 수 있습니다.

DP를 사용하는 방법을 찾아보시고 구현해보시는 것을 추천드립니다. 또한, 이러한 종류의 알고리즘 문제를 해결하는데 도움이 되는 다양한 알고리즘 강의를 인프런에서 찾아보실 수 있어요.

더 궁금한 점이 있으시면 언제든지 물어보세요. 좋은 학습되세요!

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

29

1

갑자기 채점 사이트가 바뀌었어요

0

32

1

문제 리스트 페이지

0

29

1

채점 사이트 관련 질문드립니다

0

24

1

봉우리 문제 질문입니다

0

81

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

65

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

72

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

67

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

85

2

6-7 강의에서

0

48

1

6-6. 장난꾸러기 질문 있습니다.

0

45

1

강의 수강후 코딩테스트

0

110

1

answer 변수 사용 여부

0

45

1

2중 for문

1

85

2

2-11. 임시반장정하기 (Runtime Error)

0

63

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

70

1

이런 풀이는 어떨까요

0

44

1

자바 스트림 방식의 효율성 질문 드립니다.

0

57

1

알고리즘 자료 구조들..

0

62

1

StringBuilder vs BufferdWriter

0

48

1

원더랜드(프림)

0

50

1

이런 코드는 어떤가요?

0

61

1

bfs 풀이

0

57

1

병합정렬

0

56

1