function solution(id_list, report, k) {
let answer = Array.from({length: id_list.length}, () => 0);
let cnt = 0;
let tmpArr = [];
for (let i=0; i<report.length; i++) { // report를 2차원배열로 저장.
tmpArr.push(report[i].split(' '));
}
for (let i=0; i<id_list.length; i++) { // tmpArr에 신고당한 사람 횟수 저장
let cnt=0;
let idCnt=0;
let tmpArr1=[]; // 신고한 사람과 신고당한 사람의 배열을 저장한다.
for (let j=0; j<tmpArr.length; j++) {
if (tmpArr[j][1] === id_list[i]) {
cnt++;
tmpArr1.push(tmpArr[j]);
}
if (j === report.length-1) { // j가 인덱스 마지막 번호일 경우
if (cnt>=k) { // cnt이 k보다 크거나 같을 경우
for (let k=0; k<tmpArr2.length; k++) {
let tmpArr2=Array.from({length: 2}); // 신고한 사람과, 신고한 사람 횟수를 저장한다.
for (let l=0; l<id_list.length; l++) {
if (tmpArr2[k]===id_list[l]) (answer[l])++; // tmpArr2[k]와 id_list[l]이 같을 경우, answer[l]++해준다.
}
}
}
}
console.log(i, j, tmpArr[j][0], tmpArr[j][1], id_list[i], cnt, idCnt, tmpArr2);
}
}
return answer;
}
let id_list = ["muzi", "frodo", "apeach", "neo"];
let report = ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"];
let k = 2;
console.log(solution(id_list, report, k));
-아직 해결 못한 것 : 같은 사람이 두번 신고했을 때 예외처리.
열의 길이를 한꺼번에 지정가능 ex) 100px 100px 50px; 또는 1fr 2fr 3fr;
*fr: 비율
행의 길이를 한꺼번에 지정 가능. 선언 방법은 위와 같음.
grid-template-columns와 grid-template-rows의 갯수와 크기를 한꺼번에 지정할 수 있다.
ex) grid-template-rows: repeat(3, 100px);
grid-template-columns와 grid-template-rows의 크기의 최소값과 최대값을 한번에 지정할 수 있다.
ex) grid-template-rows: repeat (3, minmax(100px, 300px));
사용자 화면크기가 얼마나 될지 모를 때 사용하는 키워드.
가진 공간에 셀을 최대한 많이 배치하기 위해서 사용.
ex) grid-template-rows: repeat (auto-fill, minmax(100px, 300px));
=> 비어있는 셀들을 만들어 공간을 채워준다.
사용자 화면크기가 얼마나 될지 모를 때 사용하는 키워드.
가진 공간에 셀을 최대한 많이 배치하기 위해서 사용.
ex) grid-template-rows: repeat (auto-fit, minmax(100px, 300px));
=> 남는 공간을 셀을 늘려서 채워준다.
열 사이의 간격 지정
행 사이의 간격지정
열, 행 간격을 한꺼번에 지정 ex) 30px 10px;
grid-template-columns으로 정의되지 않은 나머지 열들의 크기를 자동으로 해당값으로 지정해줌.
grid-template-rows으로 정의되지 않은 나머지 행들의 크기를 자동으로 해당값으로 지정해줌.
그리드들을 수평으로 정렬.
ex) start / end / center / space-around / space-between
그리드들을 수직으로 정렬. 꼭 높이값이 있어야 사용이 가능하다.
ex) start / end / center / space-around / space-between
justify-contents와 align-contents를 한꺼번에 선언할 수 있다.
각각의 아이템들이 수평방향으로 정렬됨.
ex) start / end / center
각각의 아이템들이 수직방향으로 정렬됨.
ex) start / end / center
justify-items와 align-items을 한꺼번에 선언할 수 있다.
어떻게 배치할 건지 정해지지 않은 아이템들을 자동배치 시킨다.
ex) row / column
열의 시작을 라인번호로 지정.
열의 끝을 라인번호로 지정.
열의 시작과 끝을 한꺼번에 지정.
행의 시작을 라인번호로 지정.
행의 끝을 라인번호로 지정.
행의 시작과 끝을 한꺼번에 지정.
수평방향의 정렬을 지정. (해당 그리드만)
수직방향의 정렬을 지정. (해당 그리드만)
수평, 수직방향의 정렬을 한꺼번에 지정 (해당 그리드만)
시각적으로 보이는 순서 변경. 기본값 0. -1이 제일 앞자리.