2023년 01월 23일 월요일 - 아직도 쉰다 ㅎㅎ
오늘 올려볼 문제는 997번 Find the Town Judge 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
쉬는날이라서 그런지 자꾸 알고리즘 스터디를 까먹어..
입력
사진에서도 볼 수 있듯이 int 값 1개와 2차원 int 배열 1개가 입력으로 들어온다.
풀이 및 코드
아래 조건에 부합하는 사람이 해당 마을의 심판이다.
1. 심판은 누구도 믿지 않는다.
2. 심판을 제외한 모든 마을 주민들은 심판을 믿는다.
3. 1번, 2번 조건을 만족하는 사람은 딱 한명이다.
이 때 심판을 구하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
int 배열하나 만들어서 믿음 받는 개수를 구한다.
이 때 믿는 사람은 -1을 넣어서 1번 조건을 만족하게끔 해서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int findJudge(int n, int[][] trust) {
var arr = new int[n + 1];
for(var t : trust) {
arr[t[0]] = -1;
arr[t[1]]++;
}
for(int i = 1; i <= n; i++) if(arr[i] == n - 1) return i;
return -1;
}
}
제출 화면
저 코드가 오래걸릴거 같지는 않았는데 순회를 2번 해서 그런지는 몰라도 그렇게 빠른 코드가 아니었다..
leetcode 서버 문제인건지는 잘 모르겠지만 뭐... 그렇다!
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.