99클럽 코테 스터디 6일차 TIL / [프로그래머스] 테이블 해시 함수

전종원·2024년 7월 27일
0

오늘의 학습 키워드


구현

문제


https://school.programmers.co.kr/learn/courses/30/lessons/147354

  • 플랫폼: 프로그래머스
  • 문제명: 테이블 해시 함수
  • 난이도: Lv2

풀이


import java.util.*;

class Solution {
    public int solution(int[][] data, int col, int row_begin, int row_end) {
        int answer = 0;
        
        Arrays.sort(data, (o1, o2) -> {
            if(o1[col - 1] == o2[col - 1]) {
                return o2[0] - o1[0];
            }
            
            return o1[col - 1] - o2[col - 1];
        });
        
        for(int i=row_begin - 1; i<row_end; i++) {
            int sum = 0;
            
            for(int value : data[i]) {
                sum += value % (i + 1);
            }
            
            answer ^= sum;
        }
        
        return answer;
    }
}

접근

  • 2차원 배열을 문제에 정의된 기준으로 정렬시키고 요구사항을 구현하면 되는 간단한 문제였습니다.
    • 정렬
      • col번쨰 컬럼의 값을 기준으로 오름차순 정렬
        • 같다면 첫 번째 컬럼의 값을 기준으로 내림차순 정렬

소요 시간

30분

회고


람다식을 활용한 정렬 연습 실천!

0개의 댓글