[프로그래머스(Programmers)][자바(java)] (Lv4) 도둑질

728x90

 

https://programmers.co.kr/learn/courses/30/lessons/42897?language=java 

 

코딩테스트 연습 - 도둑질

도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한

programmers.co.kr

 

문제 풀이

 

.
	public int solution(int[] money) {
		int answer = 0, n = money.length, dp[] = new int[n], i;
		dp[0] = dp[1] = money[0];
		for (i = 2; i < n - 1; i++)
			dp[i] = Math.max(dp[i - 2] + money[i], dp[i - 1]);
		answer = dp[n - 2];
		dp[0] = 0; dp[1] = money[1];
		for (i = 2; i < n; i++)
			dp[i] = Math.max(dp[i - 2] + money[i], dp[i - 1]);
		answer = Math.max(answer, dp[n - 1]);
		return answer;
	}
.

 

 

반응형