일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 저요오드식
- java
- 방사성동위원소치료
- 수술
- 안드로이드
- 객체
- 카페
- android auto
- 입원
- firebase
- 정렬 알고리즘
- leetcode
- 맛집
- 전이
- 임파선전이
- 백준알고리즘
- kotlin
- 방사성 동위원소 치료
- 코틀린
- 동위원소치료
- 알고리즘
- Compose
- 림프절전이
- 폐CT
- Android
- 갑상선암
- Android Compose
- 프로그래머스
- MYSQL
- 자바
Archives
- Today
- Total
새우버거의 개발 블로그
[JAVA] 프로그래머스 Lv.1 : 크레인 인형뽑기 게임 본문
🔥 2019 카카오 개발자 겨울 인턴십
예제:
board | moves | result |
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] | [1,5,3,5,1,2,1,4] | 4 |
제한 조건:
- board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다.
- board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다.
- 0은 빈 칸을 나타냅니다.
- 1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미하며 같은 숫자는 같은 모양의 인형을 나타냅니다.
- moves 배열의 크기는 1 이상 1,000 이하입니다.
- moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 자연수입니다.
Solution #1
import java.util.ArrayList;
import java.util.List;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
int size = board.length;
List<Integer> result = new ArrayList<>();
for (int move : moves) {
int index = move - 1;
for (int j = 0; j < size; j++) {
if (board[j][index] != 0) {
if (result.size() > 0
&& result.get(result.size() - 1) == board[j][index]) {
result.remove(result.size() - 1);
answer += 2;
} else {
result.add(board[j][index]);
}
board[j][index] = 0;
break;
}
}
}
return answer;
}
}
Result #1
More Algorithm!
👇👇
github.com/ggujangi/ggu.programmers
ggujangi/ggu.programmers
프로그래머스 알고리즘, JAVA. Contribute to ggujangi/ggu.programmers development by creating an account on GitHub.
github.com
출처 : 프로그래머스
'프로그래머스 - JAVA > Level 1' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv.1 : 비밀지도 (0) | 2021.06.03 |
---|---|
[JAVA] 프로그래머스 Lv.1 : 다트 게임 (0) | 2021.06.03 |
[JAVA] 프로그래머스 Lv.1 : 예산 (0) | 2021.06.02 |
[JAVA] 프로그래머스 Lv.1 : 로또의 최고 순위와 최저 순위 (0) | 2021.06.02 |
[JAVA] 프로그래머스 Lv.1 : 같은 숫자는 싫어 (0) | 2021.06.02 |