๊ฒฐ๋ก ์ ์ผ๋ก๋ ํจ์ํ ์ธํฐํ์ด์ค๋ผ๋ ๋ฌธ๋งฅ์์ ๋๋ค ํํ์์ ์ฌ์ฉํ ์ ์๋ค. ํจ์ํ ์ธํฐํ์ด์ค ํ๋์ ์ถ์ ๋ฉ์๋๋ฅผ ์ง์ ํ๋ ์ธํฐํ์ด์ค์ด๋ค. public interface Predicate { boolean test(T t); } public interface Comparator { //java.util.Comparator int compare(T o1, T o2); } public interface Runnable { //java.lang.Runnable void run(); } ์ฐธ๊ณ ๋ก ์ธํฐํ์ด์ค์ ๊ฒฝ์ฐ ๋ํดํธ ๋ฉ์๋(์ธํฐํ์ด์ค์ ๋ฉ์๋๋ฅผ ๊ตฌํํ์ง ์์ ํด๋์ค๋ฅผ ๊ณ ๋ คํด์ ๊ธฐ๋ณธ ๊ตฌํ์ ์ ๊ณตํ๋ ๋ฐ๋๋ฅผ ํฌํจํ๋ ๋ฉ์๋)๋ฅผ ํฌํจํ ์ ์๋๋ฐ, ๋ง์ ๋ํดํธ ๋ฉ์๋๊ฐ ์๋๋ผ๋ ์ถ์ ๋ฉ์๋๊ฐ ์ค์ง ํ๋๋ฉด ํจ์ํ ์ธ..
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ํจ์๋ผ๋ ์ฉ์ด๋ '๋ฉ์๋', ํนํ ์ ์ ๋ฉ์๋์ ๊ฐ์ ์๋ฏธ๋ก ์ฌ์ฉ๋์ง๋ง ์๋ฐ์ ํจ์๋ ์ด์ ๋ํด ์ํ์ ์ธ ํจ์์ฒ๋ผ ์ฌ์ฉ๋๋ฉฐ ๋ถ์์ฉ์ ์ผ์ผํค์ง ์๋ ํจ์๋ฅผ ์๋ฏธํ๋ค. ์๋ฐ 8์์๋ ํจ์๋ฅผ ์๋ก์ด ๊ฐ์ ํ์์ผ๋ก ์ถ๊ฐํ๋๋ฐ, ์ด๋ ๋ฉํฐ์ฝ์ด์์ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ์ฉํ ์ ์๋ ์คํธ๋ฆผ๊ณผ ์ฐ๊ณ๋ ์ ์๊ธฐ ์ํจ์ด๋ค. ํจ์๊ฐ ํ์ํ ์ด์ ๋ฅผ ์์๋ณด๊ธฐ ์ ์ ์ผ๊ธ ๊ฐ ๋๋ ์ผ๊ธ ์๋ฏผ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ฉ์ด์ ์๋ฏธ๋ฅผ ์์๋ณด์. ์ ํต์ ์ผ๋ก ๋ฏธ๊ตญ ์๋ฏผ ๊ถ๋ฆฌ์์ ์ ๋ํ ํด๋น ์ฉ์ด๋ ๋ฐ๊ฟ ์ ์๋ ๊ฐ์ ์ผ๊ธ ์๋ฏผ์ด๋ผ๊ณ ๋ถ๋ฌ์๋ค. ์๋ฅผ ๋ค์ด int๋ double ํ์์ ๊ธฐ๋ณธ๊ฐ ๋ฐ String ํ์์ ๊ฐ์ฒด๊ฐ ์ผ๊ธ ์๋ฏผ์ ํด๋นํ๋ค. ํ์ง๋ง ํด๋์ค๋ ๋ฉ์๋์ ๊ฐ์ ๊ฒฝ์ฐ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ๋ฐ ๋์์ด ๋ ์๋ ์์ง๋ง, ๊ทธ ..
import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(int[] numbers, String direction) { List nums = Arrays.stream(numbers) .boxed() .collect(Collectors.toList()); int removeValue = 0; if (direction.equals("right")) { removeValue = nums.get(nums.size() - 1); nums.remove(nums.size() - 1); nums.add(0, removeValue); } else { removeValue = nums.get(0); nums.r..
๋ค์ ๋ฌธ์ ๋ฅผ ์๋์ ๊ฐ์ด ํ์ด๋ณด์๋ค. import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(int[] emergency) { List sorted = Arrays.stream(emergency) .sorted() .boxed() .collect(Collectors.toList()); int[] answer = new int[sorted.size()]; int idx = 0; Collections.reverse(sorted); for(int element : emergency) { answer[idx++] = sorted.indexOf(element) + 1; } return answer; ..