From 6ed9b183046627a3530448a2be473433e20c2744 Mon Sep 17 00:00:00 2001 From: rl544 <111494264+rl544@users.noreply.github.com> Date: Fri, 30 Dec 2022 19:00:33 +0900 Subject: [PATCH] =?UTF-8?q?uploaded=20at=202022.=2012.=2030.=20=EC=98=A4?= =?UTF-8?q?=ED=9B=84=207:00:32?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programmers/테이블 해시 함수/solution.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 programmers/테이블 해시 함수/solution.java diff --git a/programmers/테이블 해시 함수/solution.java b/programmers/테이블 해시 함수/solution.java new file mode 100644 index 0000000..9b3ea03 --- /dev/null +++ b/programmers/테이블 해시 함수/solution.java @@ -0,0 +1,15 @@ +// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/147354 + +import java.util.*; +import java.util.stream.*; +class Solution { + private int S_i(int[] a, int i) {return IntStream.of(a).mapToObj(b -> b%i).mapToInt(b->b).sum();} + public int solution(int[][] data, int col, int row_begin, int row_end) { + int answer = 0; + List al = Arrays.asList(data); + al.sort((o1,o2) -> o2[0] - o1[0]); + al.sort((o1,o2) -> o1[col-1] - o2[col-1]); + for(int c = row_begin; c <= row_end; c++) answer ^= S_i(al.get(c-1),c); + return answer; + } +} \ No newline at end of file