반응형
class Solution {
public int solution(String[] friends, String[] gifts) {
int[][] giftCount = new int[friends.length][friends.length];
long[] giftIndex = new long[friends.length];
//주고받은 관계 입력
for(int i = 0 ;i< friends.length; i++ ){
for(int j = 0; j<friends.length; j++){
String gift = friends[i] + " " + friends[j];
for(String temp : gifts){
if(temp.equals(gift)){
giftCount[i][j] += 1;
}
}
}
}
//선물지수 입력
for(int i=0;i< friends.length;i++){
for(String temp : gifts) {
String giver = temp.split(" ")[0];
String receiver = temp.split(" ")[1];
if (giver.equals(friends[i])) {
giftIndex[i] += 1;
}
if(receiver.equals(friends[i])){
giftIndex[i] -= 1;
}
}
}
int maxGift = 0;
//선물 받을 개수 계산
for(int i=0;i< friends.length;i++){
int giftCnt = 0;
for(int j =0;j< friends.length;j++){
//자기거는 제외
if(i==j){
continue;
}
//주고받은 내역 없는 경우
if(giftCount[i][j] == giftCount[j][i]){
if(giftIndex[i] > giftIndex[j]){
giftCnt += 1;
}
}else{
//비교
if(giftCount[i][j] > giftCount[j][i]){
giftCnt += 1;
}
}
}
if(giftCnt>maxGift) {
maxGift = giftCnt;
}
}
return maxGift;
}
}
반응형
'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글
[백준] 설탕 배달 (0) | 2024.10.29 |
---|---|
[프로그래머스] Lv1. 실패율 (0) | 2024.10.28 |
[프로그래머스] Lv1. 모의고사 (0) | 2024.10.23 |
[프로그래머스] 3진법 뒤집기 (0) | 2024.10.23 |
[프로그래머스] 소수 만들기 (0) | 2024.10.23 |