Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- tensorflow
- 머신러닝야학
- pandas
- 딥러닝
- 생활코딩
- Java
- 생활코딩 머신러닝야학
- reshape
- 데이터베이서
- flatten
- LeNet
- 판다스
- CNN
- 머신러닝(딥러닝)
- 파이썬
- 데이터베이스 개론
- 야학
- MySQL
- 이것이 자바다
- 데이터베이스
- Database
- 개발자
- 연산자
- 카카오클라우드스쿨2기
- 머신러닝
- 생활코딩 데이터베이스
- JavaScript
- Python
Archives
- Today
- Total
IT's 우
[java]2022 KAKAO BLIND RECRUITMENT> 신고 결과 받기, 배열에서 특정 요소 값 index 찾기, map.getOrDefault(,) 본문
알고리즘/프로그래머스
[java]2022 KAKAO BLIND RECRUITMENT> 신고 결과 받기, 배열에서 특정 요소 값 index 찾기, map.getOrDefault(,)
디우 2022. 10. 10. 13:53728x90
https://school.programmers.co.kr/learn/courses/30/lessons/92334
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import java.util.*;
class Solution {
public int[] solution(String[] id_list, String[] report, int k) {
int[] answer = new int[id_list.length];
boolean[][] check = new boolean[id_list.length][id_list.length];
Map map = new HashMap();
for (int i = 0; i < report.length; i++) {// 신고한 사람 찾아주고 신고한 횟수 구하기
String[] ur = report[i].split(" ");
int a = Arrays.asList(id_list).indexOf(ur[0]); // 신고한 사람 인덱스 찾기
int b = Arrays.asList(id_list).indexOf(ur[1]);
if (check[a][b] != true) {
check[a][b] = true;
if (map.containsKey(ur[1])) {
// 키가 이미 존재한다면
Integer value = (Integer) map.get(ur[1]);
map.put(ur[1], new Integer(value.intValue() + 1));
} else {// 키가 존재하지 않는 경우
map.put(ur[1], new Integer(1));
}
}
}
for (int i = 0; i < id_list.length; i++) {
int cnt = 0;
for (int j = 0; j < id_list.length; j++) {
if (check[i][j] == true && (Integer) map.getOrDefault(id_list[j], 0) >= k) {
cnt++;
}
}
answer[i] = cnt;
}
return answer;
}
}
해설
- boolean[][] check이차원 배열을 만들어 신고를 한 사람을 체크하여 중복을 막아줌
- 신고를 당한 사람이 과거에 같은 사람에게 안 받았을 경우에 횟수 ++
- check를 확인하며 신고한 사람이 정지 횟수 넘었을 때 메일 횟수++
배열에서 특정 요소 값 index 찾기
Arrays.asList(id_list).indexOf(ur[0]);
map에서 찾은 키 값이 존재하지 않으면 defalut값 지정map.getOrDefault(id_list[j], 0)
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[java, 프로그래머스숫자] 2021 카카오 채용연계형 인턴십> 문자열과 영단어, replace("","") (0) | 2022.10.26 |
---|---|
[java]프로그래머스 - 로또의 최고 순위와 최저 순위(Lv.1), int 배열에서 특정요소 찾기!!! Set으로 변환해 set.contains() (0) | 2022.10.10 |
[java]프로그래머스 - 성격 유형 검사하기, String에 char 추가하기 String+=char (0) | 2022.10.03 |
[java, 프로그래머스> 스택/큐] 기능개발, int[] 배열에 ArrayList<Integer> 값 저장 (0) | 2022.07.17 |
[java, 프로그래머스> 스택/큐] 프린터 (0) | 2022.07.17 |