hugDog
Android DevLog
hugDog
전체 방문자
였늘
μ–΄μ œ
  • πŸ™Œ Hello? (162)
    • πŸ§©μ•ˆλ“œλ‘œμ΄λ“œ (12)
      • κ°œλ… 정리 (5)
      • 버그 ν•΄κ²° (4)
      • 기타 (3)
    • πŸ”μ•Œκ³ λ¦¬μ¦˜ (54)
      • κ°œλ… (0)
      • λ°±μ€€ (48)
      • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (6)
    • πŸ“„κ°œλ°œ 일지 (0)
      • FINPO (0)
    • πŸ”€ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (71)
      • C++ 정리 (49)
      • C++κΈ°μ΄ˆν”ŒλŸ¬μŠ€ μ—°μŠ΅λ¬Έμ œ (20)
      • Kotlin (2)
    • ⭐Project (1)
    • 🚴TIL (13)
      • Clean Code (13)
    • πŸš©κΈ°νƒ€ (9)
      • λͺ©ν‘œ (6)
      • 일상 (3)
      • λ¬Έμ„œ (0)

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
hugDog
πŸ”μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€

[Python/파이썬] λ°±μ€€ 1043번: 거짓말

[Python/파이썬] λ°±μ€€ 1043번: 거짓말
πŸ”μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€

[Python/파이썬] λ°±μ€€ 1043번: 거짓말

2022. 1. 1. 15:45
728x90

문제

 

풀이

진싀을 μ•Œκ³  μžˆλŠ” μ‚¬λžŒμ˜ 집합을 knowList

νŒŒν‹°μ— μ°Έμ„ν•œ μ‚¬λžŒμ˜ 집합을 party

partyλ₯Ό μ›μ†Œλ‘œ κ°–λŠ” λ°°μ—΄ parties

 

1.

λ§Œμ•½ party, knowList의 ꡐ집합이 ν•˜λ‚˜λΌλ„ 있으면 knowList = knowList.union(party)

(νŒŒν‹°μ— 진싀을 μ•„λŠ” μ‚¬λžŒμ΄ ν•œ λͺ…이라도 μžˆλ‹€λ©΄, κ·Έ μ‚¬λžŒμœΌλ‘œ 인해 νŒŒν‹°μ— μ°Έμ„ν•œ λͺ¨λ“  μ‚¬λžŒμ΄ 진싀을 μ•Œκ²Œ 됨)

 

2.

μœ„ 과정을 νŒŒν‹°μ˜ 수만큼 반볡

 

why??

5개의 νŒŒν‹°κ°€ 있고 진싀을 μ•„λŠ” μ‚¬λžŒμ΄ A라고 κ°€μ •ν•˜μž.

이 경우 5개의 νŒŒν‹° 쀑 Aκ°€ μ°Έμ—¬ν•œ νŒŒν‹°κ°€ μžˆλŠ”μ§€ ν™•μΈν•˜λ©΄ λœλ‹€.

ν™•μΈν•˜λ˜ 도쀑 Aκ°€ 3번째 νŒŒν‹°μ— μ°Έμ—¬ν•œ 것이 λ°œκ²¬λ˜μ–΄ B μ—­μ‹œ 진싀을 μ•Œκ²Œ λ˜μ—ˆλ‹€κ³  κ°€μ •ν•˜μž.

 

B에 λŒ€ν•΄μ„œλ„ λ§ˆμ°¬κ°€μ§€λ‘œ 5개의 νŒŒν‹° 쀑 Bκ°€ μ°Έμ—¬ν•œ νŒŒν‹°κ°€ μžˆλŠ”μ§€ 확인해야 ν•œλ‹€.

μ΄λ•Œ μƒˆλ‘œμš΄ μ‚¬λžŒμ΄ 진싀이 μ•Œκ²Œ λ˜λŠ” 경우의 μ΅œλŒ€ 값은 λ§€ νŒŒν‹°λ§ˆλ‹€ 진싀을 μ•Œκ²Œ λ˜λŠ” μ‚¬λžŒμ΄ μƒκΈ°λŠ” 것이닀.

λ”°λΌμ„œ νŒŒν‹°μ˜ 수만큼 λ°˜λ³΅ν•΄μ•Ό ν•œλ‹€.

 

μ½”λ“œ

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
knowList = set(input().split()[1:])
parties = []

for _ in range(m):
    parties.append(set(input().split()[1:]))

for _ in range(m):
    for party in parties:
        if party & knowList:
            knowList = knowList.union(party)

cnt = 0
for party in parties:
    if party & knowList:
        continue
    cnt += 1

print(cnt)

 

마무리

풀이λ₯Ό λ³΄λ‹ˆ μ‰¬μš΄λ°... μ™œ 이걸 생각 λͺ»ν–ˆμ„κΉŒ μ‹Άλ‹€.

해닡을 보고도 μ‰½κ²Œ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€.

아직 많이 λΆ€μ‘±ν•˜λ‹€. μ–Έμ œμ―€ μž˜ν•  수 μžˆμ„κΉŒ γ… γ… 

 

728x90
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ (μƒˆμ°½μ—΄λ¦Ό)
  • 문제
  • 풀이
  • μ½”λ“œ
  • 마무리
'πŸ”μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Python/파이썬] λ°±μ€€ 16954번: μ›€μ§μ΄λŠ” 미둜 νƒˆμΆœ
  • [Python/파이썬] λ°±μ€€ 2448번: 별 찍기 - 11
  • [Python/파이썬] λ°±μ€€ 10830번: ν–‰λ ¬ 제곱
  • [Python/파이썬] λ°±μ€€ 13116번: 30번
hugDog
hugDog
μ•ˆλ“œλ‘œμ΄λ“œ 곡뢀 쀑인 ν•™μƒμž…λ‹ˆλ‹€!

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

κ°œμΈμ •λ³΄

  • ν‹°μŠ€ν† λ¦¬ ν™ˆ
  • 포럼
  • 둜그인

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.