[백준] 1270 - 전쟁 - 땅따먹기
1. 문제
2. 개요
지역의 수 N과 각 지역별로 지역 내의 모든 병사들의 국적이 주어진다.
지역 내에 한 국적의 병사가 과반수 이상이라면 이 지역은 해당 국가가 점령하게 된다.
각 지역의 점령 여부 및 점령 국가를 출력하는 문제.
3. 풀이 및 코드
3-1. 풀이
지역마다 딕셔너리를 이용해 수를 카운팅하고 이게 과반수 이상이라면 해당 숫자를 출력해준다.
C#으로 풀면 뭘 어떻게 해도 메모리 초과가 걸려서 일단 포기..
3-2. Python
import sys
n = int(sys.stdin.readline())
for i in range(n):
info = list(map(int, sys.stdin.readline().split()))
majority = info[0] / 2
landinfo = dict()
isdominated = False
for j in range(1, info[0] + 1):
if info[j] in landinfo:
landinfo[info[j]] += 1
else:
landinfo[info[j]] = 1
if landinfo[info[j]] > majority:
isdominated = True
print(info[j])
break
if isdominated == False:
print("SYJKGW")
Comments