본문 바로가기
코딩테스트 파이썬/백준

메시지

by 세용용용용 2024. 12. 10.

1384번: 메시지

 

나의 풀이

import sys

def _massage(name_list, massage_dict, group_id):
    answer = [f"Group {group_id}"]
    for idx, now_info in enumerate(massage_dict.values(), 0):
        for bad_idx in range(len(now_info)):
            if (now_info[bad_idx] == 'N'):
                answer.append(f"{name_list[idx - (bad_idx+1)]} was nasty about {name_list[idx]}")
    if (len(answer) == 1):
        answer.append("Nobody was nasty")
    return answer

group_id = 0
while True:
    n = int(sys.stdin.readline())
    if (n == 0):
        break
    group_id += 1
    if (group_id != 1):
        print()
    name_list = []
    massage_dict = {}
    for _ in range(n):
        info_list = sys.stdin.readline().rstrip().split()
        name_list.append(info_list[0])
        massage_dict[info_list[0]] = info_list[1:]
    result_massgae = _massage(name_list, massage_dict, group_id)
    print('\n'.join(result_massgae))

 

시간 복잡도

def _massage(name_list, massage_dict, group_id) : 그룹에서 나쁜말 메시지 리턴하는 함수 ( 이차형 시간 복잡도 )
해당 알고리즘 시간 복잡도 : 이차형 시간 복잡도 ( O(n**2) )

'코딩테스트 파이썬 > 백준' 카테고리의 다른 글

국회의원 선거  (0) 2024.12.11
배수들의 합  (1) 2024.12.11
귀걸이  (0) 2024.12.09
폴리오미노  (0) 2024.12.07
연도 진행바  (1) 2024.12.06