n=int(input())
stu=input().split()
dic={}
for i in stu:
dic[i]=0
for _ in stu:
pop=list(map(str,input().split()))
for i in stu:
for j in pop:
if(i==j):
dic[i]+=1
dic = sorted(dic.items(), key=lambda item:(-item[1],item[0]))
for i in range(n):
print(dic[i][0], dic[i][1])
<코드설명>
학생 이름의 개수인 n과 학생 이름인 stu를 입력받아주었다.
입력받은 stu를 모두 dic에 저장해주고, 0의 값을 넣어주었다.
stu만큼 한 명의 학생이 좋아하는학생 이름을 pop 변수를 통해 입력받아주었다.
stu와 pop을 이중 for문을 이용하여 둘이 일치할 때마다 dic[i]을 1씩 증가시켜주었다.
정렬하여 출력을 해야하기 때문에 lambda 정렬을 해주었다.
이렇게 구한 dic의 원소를 출력해주었다.
<실행결과>
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1463 1로 만들기 (0) | 2022.10.02 |
---|---|
[BOJ] 2910 빈도 정렬 (0) | 2022.10.02 |
[BOJ] 1912 연속합 (0) | 2022.09.25 |
[BOJ] 3986 좋은 단어 (0) | 2022.09.25 |
[BOJ] 22233 가희와 키워드 (0) | 2022.09.24 |