https://programmers.co.kr/learn/courses/30/lessons/64061
ํ๋ก๊ทธ๋๋จธ์ค 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ "ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์" ๋ฌธ์ ํ์ด์ด๋ค.
์ค๋ช ์ ๋์์๋ ๋๋ก ๋ฐ๋ผํ๋ฉด ์ด๋ ต์ง๋ ์์๋ฐ, ์ธํ์ ๋ฝ๋ ๋ฐ๋ณต๋ฌธ๊ณผ ๋ฝํ ๋ชฉ๋ก ๋ด ๊ฐ์ ๊ฐ์ด ๋ ๋ฒ ๋์ค๋์ง ํ์ธํ๋ ๋ฐ๋ณต๋ฌธ์ ๋ ๋ฒ์ ๋๋ ์ ํ ์ง ํ ๋ฒ ๊ณ ๋ฏผํ๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค.
๋ํ, ๊ทธ๋ฆผ ์์ ๋ฝ์ ์ธํ์ด ์์ด๋ ๋ถ๋ถ์ด ์คํ์ฒ๋ผ ์๊ฒจ์ ์คํ์ ์ฌ์ฉํด์ผ ํ๋ ์ ๊น ๊ณ ๋ฏผํ๋๋ฐ ์ด์ ๊ฐ๊ณผ ๋น๊ตํ๋ ๊ฑด ๋ฆฌ์คํธ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉํ ์ ์์ด์ ์ต์ํ ๊ฒ์ ์ฌ์ฉํ๋ค. ์คํ์ผ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค.
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int count = 0;
List<Integer> pickedList = new ArrayList<>();
for (int move : moves) {
for (int i = 0; i < board.length; i++) {
if (board[i][move - 1] != 0) {
pickedList.add(board[i][move - 1]);
int size = pickedList.size();
if (size != 1) {
if (pickedList.get(size - 2) == board[i][move - 1]) {
count++;
pickedList.remove(size - 1);
pickedList.remove(pickedList.size() - 1);
}
}
board[i][move - 1] = 0;
break;
}
}
}
return count * 2;
}
}
'๊ฐ๋ฐ > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ํ๋ฒํธ ๋ชฉ๋ก (Java) (0) | 2021.11.01 |
---|---|
์์ฃผํ์ง ๋ชปํ ์ ์ (Java) (0) | 2021.11.01 |
ํคํจ๋ ๋๋ฅด๊ธฐ (Java) (0) | 2021.10.26 |
์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (Java) (0) | 2021.10.26 |
๋ฌธ์์ด ์์ถ (Java) (0) | 2021.10.25 |
๋๊ธ