๋ฌธ์
๋ฐฑ์ค ๊ฑธ๊ทธ๋ฃน ๋ง์คํฐ ์ค์์ด https://www.acmicpc.net/problem/16165
์ฝ๋
n, m = map(int, input().split()) # ๊ฑธ๊ทธ๋ฃน์ ์, ๋งํ์ผ ํ ๋ฌธ์ ์ ์
idol_dic = {}
for _ in range(n):
team_name = input()
team_member_num = int(input())
team_member = []
for _ in range(team_member_num):
team_member.append(input())
idol_dic[team_name] = team_member
for _ in range(m):
quiz = input()
quiz_type = int(input())
if quiz_type == 0: # ํ ์ด๋ฆ ์ฃผ์ด์ง
for member in sorted(idol_dic[quiz]):
print(member)
else: # ํ ๋ฉค๋ฒ ์ด๋ฆ ์ฃผ์ด์ง
for team, member in idol_dic.items():
if quiz in member:
print(team)
break
ํ์ด
n, m = map(int, input().split()) # ๊ฑธ๊ทธ๋ฃน์ ์, ๋งํ์ผ ํ ๋ฌธ์ ์ ์
์ ๋ ฅ ํ์์ ๋ง์ถฐ ๊ฑธ๊ทธ๋ฃน์ ์ n๊ณผ ๋ง์ถฐ์ผํ ๋ฌธ์ ์ ์ m์ ์ ๋ ฅ๋ฐ๋๋ค.
idol_dic = {}
for _ in range(n):
team_name = input()
team_member_num = int(input())
team_member = []
for _ in range(team_member_num):
team_member.append(input())
idol_dic[team_name] = team_member
idol_dic ๋์ ๋๋ฆฌ๋ฅผ ์ ์ธํ๋ค. idol_dic์๋ {ํ ์ด๋ฆ : ํ ๋ฉค๋ฒ๋ค}์ ์ ๋ณด๋ฅผ ๋ด๋๋ค.
๊ฑธ๊ทธ๋ฃน์ ์ ๋งํผ {ํ ์ด๋ฆ : ํ ๋ฉค๋ฒ๋ค}์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
ํ ์ด๋ฆ(team_name)๊ณผ ํ ์ธ์์(team_member_num)๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
ํ ๋ฉค๋ฒ์ ์ด๋ฆ์ ๋ด์ ๋ฐฐ์ด team_member๋ฅผ ๋ง๋ค๊ณ ๋ฉค๋ฒ ์ด๋ฆ์ ํ๋ํ๋ ์ ๋ ฅ ๋ฐ์ ๋ฐฐ์ด์ ์ฐจ๊ณก์ฐจ๊ณก ์ถ๊ฐํ๋ค.
for _ in range(m):
quiz = input()
quiz_type = int(input())
๊ทธ ๋ค์, m๊ฐ์ ํด์ฆ๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
quiz ๋ณ์์ ํ ์ด๋ฆ์ด๋ ๋ฉค๋ฒ์ ์ด๋ฆ์ ๋ฐ๊ณ ,
quiz_type์ 0 ๋๋ 1์ ์ ๋ ฅ๋ฐ๋๋ค.
if quiz_type == 0: # ํ ์ด๋ฆ ์ฃผ์ด์ง
for member in sorted(idol_dic[quiz]):
print(member)
else: # ํ ๋ฉค๋ฒ ์ด๋ฆ ์ฃผ์ด์ง
for team, member in idol_dic.items():
if quiz in member:
print(team)
break
quiz_type์ด 0์ธ ๊ฒฝ์ฐ ์ฆ, ํ์ ์ด๋ฆ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ๋
ํ์ ์ํ ๋ฉค๋ฒ์ ์ด๋ฆ๋ค์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํด์ ์ถ๋ ฅํ๋ค.
quiz_type์ด 1์ธ ๊ฒฝ์ฐ ์ฆ, ํ ๋ฉค๋ฒ์ ์ด๋ฆ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ๋
ํด๋น ๋ฉค๋ฒ๊ฐ ์ํ ํ ์ด๋ฆ์ ์ถ๋ ฅํ๋ค.
๋ค๋ฅธ ์ฝ๋
n, m = map(int, input().split()) # ๊ฑธ๊ทธ๋ฃน์ ์, ๋งํ์ผ ํ ๋ฌธ์ ์ ์
idol_dic = {}
for _ in range(n):
team_name = input()
team_member_num = int(input())
team_member = []
for _ in range(team_member_num):
team_member.append(input())
idol_dic[team_name] = team_member
for _ in range(m):
quiz = input()
quiz_type = int(input())
if quiz_type == 0: # ํ ์ด๋ฆ ์ฃผ์ด์ง
for member in sorted(idol_dic[quiz]):
print(member)
break
else: # ํ ๋ฉค๋ฒ ์ฃผ์ด์ง
for team in idol_dic.keys():
if quiz in idol_dic[team]:
print(team)
break
ํ์ด
n, m = map(int, input().split()) # ๊ฑธ๊ทธ๋ฃน์ ์, ๋งํ์ผ ํ ๋ฌธ์ ์ ์
idol_dic = {}
for _ in range(n):
team_name = input()
team_member_num = int(input())
team_member = []
for _ in range(team_member_num):
team_member.append(input())
idol_dic[team_name] = team_member
for _ in range(m):
quiz = input()
quiz_type = int(input())
if quiz_type == 0: # ํ ์ด๋ฆ ์ฃผ์ด์ง
for member in sorted(idol_dic[quiz]):
print(member)
break
์ ์ฝ๋์ ๋์ผํ๋ค.
else: # ํ ๋ฉค๋ฒ ์ฃผ์ด์ง
for team in idol_dic.keys():
if quiz in idol_dic[team]:
print(team)
break
์ ์ฝ๋์์๋ ๋์ ๋๋ฆฌ์ item() ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
์ด ์ฝ๋์์๋ .keys() ํจ์๋ฅผ ์ด์ฉํด ๋์ ๋๋ฆฌ์ ํค๊ฐ๋ค๋ง ๋ฐ๋ก ๋ชจ์์
ํด๋น ํค๊ฐ์ ๋ฐธ๋ฅ๋ค(=๋ฉค๋ฒ๋ค) ์ฌ์ด์ ํด์ฆ๋ก ๋์จ ๋ฉค๋ฒ๊ฐ ์๋ค๋ฉด,
๊ทธ ๋ฉค๋ฒ์ ํ ์ด๋ฆ์ ์ถ๋ ฅํ๋ค.
์๋กญ๊ฒ ๋ฐฐ์ด์ / ๋๋์
- ๋์
๋๋ฆฌ ์ด๋ฆ์ด book์ด๋ผ๊ณ ํ์๋,
- book.keys() : book์ ํค๋ค๋ง ๋ชจ์ dict_keys ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
- book.items() : book์ ์๋ ํค์ ๋ฐธ๋ฅ๋ค์ ์์ ์ป์ ์ ์๋ค.
- ex ) book = {'๊ต๊ณผ์' : '๊ตญ์ด', '๊ณผํ'} โก๏ธ dict_items([('๊ต๊ณผ์' : '๊ตญ์ด'), ('๊ต๊ณผ์' : '๊ณผํ')])
- ๋ฆฌ์คํธ๋ง ์จ์ค๋ค๊ฐ ๋์ ๋๋ฆฌ๋ฅผ ํ์ฉํ๋ ค๋ ๋ฅ์ํ๊ฒ ๋ค๋ฃจ๊ธฐ๊ฐ ์์ง ์ด๋ ต๋ค. ๋์ ๋๋ฆฌ๋ก ํ ์ ์๋ ๋ฌธ์ ๋ ์ ๊ทน์ ์ผ๋ก ๋์ ๋๋ฆฌ๋ก ํ๋ฉฐ ์๋ จ๋๋ฅผ ๋์ฌ๊ฐ์ผ๊ฒ ๋ค.
๋ค๋ฅธ ์๊ฒฌ์ด๋ ๊ถ๊ธํ์ ๊ฒ ์๋ค๋ฉด ํธํ๊ฒ ๋๊ธ ๋ฌ์์ฃผ์ธ์ :)
'์ฝ๋ฉํ ์คํธ๐ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฟ์ฝ๋] Removing Stars From a String (0) | 2024.06.24 |
---|---|
[๋ฆฟ์ฝ๋] Find the Winner of the Circluar Game (0) | 2024.06.22 |
[๋ฐฑ์ค] ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2024.06.20 |
[๋ฐฑ์ค] ์ ์ฐพ๊ธฐ (0) | 2024.06.19 |
[๋ฐฑ์ค] ๊ทธ๋ฆผ (0) | 2024.06.18 |