🐸 문제 정보
🤖 알고리즘
구현
⏱️ 풀이 시간
18.47m
📝 풀이
- 스위치에 연결된 램프의 번호를 딕셔너리 형태로 변경한다.
- 램프번호 : 개수
- 스위치를 하나씩 순회하면서, 해당 스위치가 꺼져도 모두 켜져있는지 확인한다.
이 문제에 핵심은 2차원 리스트를 {램프번호 : 개수} 형태의 딕셔너리로 변경하는 것이었다.
파이썬의 내장 모듈이 워낙 강력해서... Counter와 리스트 컴프리헨션으로 쉽게 풀 수 있었다.
🧑💻 나의 답
# pypy3
import sys
from collections import Counter
input = sys.stdin.readline
n, m = list(map(int, input().rstrip().split()))
switch = [list(map(int, input().rstrip().split()))[1:] for _ in range(n)]
lamps = Counter(item for row in switch for item in row)
for s in switch:
flag = False
for item in s:
if lamps[item] - 1 == 0:
flag = True
break
if not flag:
print(1)
exit()
print(0)
'PS > 문제풀이' 카테고리의 다른 글
백준 16938 캠프 준비 Python (1) | 2024.02.07 |
---|---|
백준 20208 진우의 민트초코우유 Python (0) | 2024.02.07 |
백준 9935 문자열 폭발 Python (1) | 2024.02.06 |
백준 15961 회전 초밥 Python (1) | 2024.02.06 |
백준 1074 Z Python (1) | 2024.02.06 |