|
| 1 | +# [level 1] 신고 결과 받기 - 92334 |
| 2 | + |
| 3 | +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/92334?language=cpp) |
| 4 | + |
| 5 | +### 성능 요약 |
| 6 | + |
| 7 | +메모리: 39.9 MB, 시간: 254.36 ms |
| 8 | + |
| 9 | +### 구분 |
| 10 | + |
| 11 | +코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT |
| 12 | + |
| 13 | +### 채점결과 |
| 14 | + |
| 15 | +정확성: 100.0<br/>합계: 100.0 / 100.0 |
| 16 | + |
| 17 | +### 제출 일자 |
| 18 | + |
| 19 | +2026년 05월 12일 15:37:37 |
| 20 | + |
| 21 | +### 문제 설명 |
| 22 | + |
| 23 | +<h5>문제 설명</h5> |
| 24 | + |
| 25 | +<p>신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.</p> |
| 26 | + |
| 27 | +<ul> |
| 28 | +<li>각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. |
| 29 | + |
| 30 | +<ul> |
| 31 | +<li>신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.</li> |
| 32 | +<li>한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.</li> |
| 33 | +</ul></li> |
| 34 | +<li>k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. |
| 35 | + |
| 36 | +<ul> |
| 37 | +<li>유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다.</li> |
| 38 | +</ul></li> |
| 39 | +</ul> |
| 40 | + |
| 41 | +<p>다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 이상 신고당하면 이용 정지)인 경우의 예시입니다.</p> |
| 42 | +<table class="table"> |
| 43 | + <thead><tr> |
| 44 | +<th>유저 ID</th> |
| 45 | +<th>유저가 신고한 ID</th> |
| 46 | +<th>설명</th> |
| 47 | +</tr> |
| 48 | +</thead> |
| 49 | + <tbody><tr> |
| 50 | +<td>"muzi"</td> |
| 51 | +<td>"frodo"</td> |
| 52 | +<td>"muzi"가 "frodo"를 신고했습니다.</td> |
| 53 | +</tr> |
| 54 | +<tr> |
| 55 | +<td>"apeach"</td> |
| 56 | +<td>"frodo"</td> |
| 57 | +<td>"apeach"가 "frodo"를 신고했습니다.</td> |
| 58 | +</tr> |
| 59 | +<tr> |
| 60 | +<td>"frodo"</td> |
| 61 | +<td>"neo"</td> |
| 62 | +<td>"frodo"가 "neo"를 신고했습니다.</td> |
| 63 | +</tr> |
| 64 | +<tr> |
| 65 | +<td>"muzi"</td> |
| 66 | +<td>"neo"</td> |
| 67 | +<td>"muzi"가 "neo"를 신고했습니다.</td> |
| 68 | +</tr> |
| 69 | +<tr> |
| 70 | +<td>"apeach"</td> |
| 71 | +<td>"muzi"</td> |
| 72 | +<td>"apeach"가 "muzi"를 신고했습니다.</td> |
| 73 | +</tr> |
| 74 | +</tbody> |
| 75 | + </table> |
| 76 | +<p>각 유저별로 신고당한 횟수는 다음과 같습니다.</p> |
| 77 | +<table class="table"> |
| 78 | + <thead><tr> |
| 79 | +<th>유저 ID</th> |
| 80 | +<th>신고당한 횟수</th> |
| 81 | +</tr> |
| 82 | +</thead> |
| 83 | + <tbody><tr> |
| 84 | +<td>"muzi"</td> |
| 85 | +<td>1</td> |
| 86 | +</tr> |
| 87 | +<tr> |
| 88 | +<td>"frodo"</td> |
| 89 | +<td>2</td> |
| 90 | +</tr> |
| 91 | +<tr> |
| 92 | +<td>"apeach"</td> |
| 93 | +<td>0</td> |
| 94 | +</tr> |
| 95 | +<tr> |
| 96 | +<td>"neo"</td> |
| 97 | +<td>2</td> |
| 98 | +</tr> |
| 99 | +</tbody> |
| 100 | + </table> |
| 101 | +<p>위 예시에서는 2번 이상 신고당한 "frodo"와 "neo"의 게시판 이용이 정지됩니다. 이때, 각 유저별로 신고한 아이디와 정지된 아이디를 정리하면 다음과 같습니다.</p> |
| 102 | +<table class="table"> |
| 103 | + <thead><tr> |
| 104 | +<th>유저 ID</th> |
| 105 | +<th>유저가 신고한 ID</th> |
| 106 | +<th>정지된 ID</th> |
| 107 | +</tr> |
| 108 | +</thead> |
| 109 | + <tbody><tr> |
| 110 | +<td>"muzi"</td> |
| 111 | +<td>["frodo", "neo"]</td> |
| 112 | +<td>["frodo", "neo"]</td> |
| 113 | +</tr> |
| 114 | +<tr> |
| 115 | +<td>"frodo"</td> |
| 116 | +<td>["neo"]</td> |
| 117 | +<td>["neo"]</td> |
| 118 | +</tr> |
| 119 | +<tr> |
| 120 | +<td>"apeach"</td> |
| 121 | +<td>["muzi", "frodo"]</td> |
| 122 | +<td>["frodo"]</td> |
| 123 | +</tr> |
| 124 | +<tr> |
| 125 | +<td>"neo"</td> |
| 126 | +<td>없음</td> |
| 127 | +<td>없음</td> |
| 128 | +</tr> |
| 129 | +</tbody> |
| 130 | + </table> |
| 131 | +<p>따라서 "muzi"는 처리 결과 메일을 2회, "frodo"와 "apeach"는 각각 처리 결과 메일을 1회 받게 됩니다.</p> |
| 132 | + |
| 133 | +<p>이용자의 ID가 담긴 문자열 배열 <code>id_list</code>, 각 이용자가 신고한 이용자의 ID 정보가 담긴 문자열 배열 <code>report</code>, 정지 기준이 되는 신고 횟수 <code>k</code>가 매개변수로 주어질 때, 각 유저별로 처리 결과 메일을 받은 횟수를 배열에 담아 return 하도록 solution 함수를 완성해주세요.</p> |
| 134 | + |
| 135 | +<hr> |
| 136 | + |
| 137 | +<h5>제한사항</h5> |
| 138 | + |
| 139 | +<ul> |
| 140 | +<li>2 ≤ <code>id_list</code>의 길이 ≤ 1,000 |
| 141 | + |
| 142 | +<ul> |
| 143 | +<li>1 ≤ <code>id_list</code>의 원소 길이 ≤ 10</li> |
| 144 | +<li><code>id_list</code>의 원소는 이용자의 id를 나타내는 문자열이며 알파벳 소문자로만 이루어져 있습니다.</li> |
| 145 | +<li><code>id_list</code>에는 같은 아이디가 중복해서 들어있지 않습니다.</li> |
| 146 | +</ul></li> |
| 147 | +<li>1 ≤ <code>report</code>의 길이 ≤ 200,000 |
| 148 | + |
| 149 | +<ul> |
| 150 | +<li>3 ≤ <code>report</code>의 원소 길이 ≤ 21</li> |
| 151 | +<li><code>report</code>의 원소는 "이용자id 신고한id"형태의 문자열입니다.</li> |
| 152 | +<li>예를 들어 "muzi frodo"의 경우 "muzi"가 "frodo"를 신고했다는 의미입니다.</li> |
| 153 | +<li>id는 알파벳 소문자로만 이루어져 있습니다.</li> |
| 154 | +<li>이용자id와 신고한id는 공백(스페이스)하나로 구분되어 있습니다.</li> |
| 155 | +<li>자기 자신을 신고하는 경우는 없습니다.</li> |
| 156 | +</ul></li> |
| 157 | +<li>1 ≤ <code>k</code> ≤ 200, <code>k</code>는 자연수입니다.</li> |
| 158 | +<li>return 하는 배열은 <code>id_list</code>에 담긴 id 순서대로 각 유저가 받은 결과 메일 수를 담으면 됩니다.</li> |
| 159 | +</ul> |
| 160 | + |
| 161 | +<hr> |
| 162 | + |
| 163 | +<h5>입출력 예</h5> |
| 164 | +<table class="table"> |
| 165 | + <thead><tr> |
| 166 | +<th>id_list</th> |
| 167 | +<th>report</th> |
| 168 | +<th>k</th> |
| 169 | +<th>result</th> |
| 170 | +</tr> |
| 171 | +</thead> |
| 172 | + <tbody><tr> |
| 173 | +<td><code>["muzi", "frodo", "apeach", "neo"]</code></td> |
| 174 | +<td><code>["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"]</code></td> |
| 175 | +<td>2</td> |
| 176 | +<td>[2,1,1,0]</td> |
| 177 | +</tr> |
| 178 | +<tr> |
| 179 | +<td><code>["con", "ryan"]</code></td> |
| 180 | +<td><code>["ryan con", "ryan con", "ryan con", "ryan con"]</code></td> |
| 181 | +<td>3</td> |
| 182 | +<td>[0,0]</td> |
| 183 | +</tr> |
| 184 | +</tbody> |
| 185 | + </table> |
| 186 | +<hr> |
| 187 | + |
| 188 | +<h5>입출력 예 설명</h5> |
| 189 | + |
| 190 | +<p><strong>입출력 예 #1</strong></p> |
| 191 | + |
| 192 | +<p>문제의 예시와 같습니다.</p> |
| 193 | + |
| 194 | +<p><strong>입출력 예 #2</strong></p> |
| 195 | + |
| 196 | +<p>"ryan"이 "con"을 4번 신고했으나, 주어진 조건에 따라 한 유저가 같은 유저를 여러 번 신고한 경우는 신고 횟수 1회로 처리합니다. 따라서 "con"은 1회 신고당했습니다. 3번 이상 신고당한 이용자는 없으며, "con"과 "ryan"은 결과 메일을 받지 않습니다. 따라서 [0, 0]을 return 합니다.</p> |
| 197 | + |
| 198 | +<hr> |
| 199 | + |
| 200 | +<h5>제한시간 안내</h5> |
| 201 | + |
| 202 | +<ul> |
| 203 | +<li>정확성 테스트 : 10초</li> |
| 204 | +</ul> |
| 205 | + |
| 206 | + |
| 207 | +> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges |
0 commit comments