[매개변수]
이용자의 id가 담긴 문자열 배열 : id_list
각 이용자가 신고한 이용자 id정보가 담긴 문자열 배열 : report
정지 기준이 되는 신고 횟수 : k
처리 결과 메일 받은 횟수 배열 : answer
[제한사항]
1 ≤ id_list의 원소 길이 ≤ 10
2 ≤ id_list의 길이 ≤ 1,000
id_list는 소문자로만 이루어져 있음 , 중복해서 들어 있지 않음
1 ≤ report의 길이 ≤ 200,000
3 ≤ report의 원소 길이 ≤ 21
report의 원소는 ["이용자 id 신고한id"] 형태의 문자열
[풀이]
각 사용자 id별로 신고한 id의 이름들을 가지고있다. 신고한 id개수가 k개 이상이면 메일이 전송된다.
4. idReportObject 객체를 생성해준다.
5-7 . id별로 신고한 id를 기록하는 객체를 초기화 해주는 작업 , answer배열 0으로 초기화
10-17. 배열 [신고하는 id , 신고당한 id] 를 생성후 공백기준으로 쪼개어 넣어준다.
신고당한 id가 객체에 없다면 push 해준다.
18-26. 객체에 해당하는 id값을 가진 길이가 k(정지기준이 되는 신고횟수) 이상이라면 그 id객체에 저장되어있는 신고한 id개수만큼 answer배열에 push해준다.
[사용된 속성]
반복이 가능한 객체의 모든 원소를 하나씩 추출하여 변수에 담아 반복문을 수행하는 문법
for in : Iterable object이면 모두 반복할 수 있는 대상이 됨.
배열의 각 원소를 임시 변수로 담을 value에는 몇 번 째 반복되고 있는지 index가 담겨있음.
for of : Iterable object이지만, prototype chain에 의한 Iterable은 반복 대상에서 제외 됨.
value에는 실제 원소의 값만 순서대로 담김.
배열 [ ]
: 전개 연산자(...)을 사용하여 좌항에서 명시적으로 할당되지 않은 나머지 배열값들을 사용할 수 있음
var [a1,a2, ...rest_a] = [1,2,3,4,5,6,7,8,9]
console.log(a1); // 1
console.log(rest_a) // [3,4,5,6,7,8,9] , a1,a2까지 할당되었으므로 나머지 배열값 3~9이 출력
객체 { }
: 배열과 마찬가지로 var,let,const 적용 가능
우항의 key값이 좌항의 변수명과 매칭
var [a1,a2, ...rest_a] = { a1: 1 , a2: 2, a3 :3, a4: 4 }
console.log(a1) ; //10
console.log(rest_a) ; // { a3 :3, a4: 4 }
index of
: 특정 문자 위치 찾기
"문자열" .indexOf("찾을 문자")
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 코딩테스트] - 키패드 누르기 (JavaScript) (0) | 2022.02.17 |
---|---|
[프로그래머스 코딩테스트] - 숫자 문자열과 영단어 (JavaScript) (0) | 2022.02.17 |
[프로그래머스 코딩테스트] - 로또의 최고 순위와 최저 순위 (JavaScript) (0) | 2022.02.16 |
[프로그래머스 코딩테스트] - 신규 아이디 추천 (JavaScript) (0) | 2022.02.16 |