본문 바로가기
BOJ

[python] 백준 10546번 - 배부른 마라토너 # 유지니의 일기3

by yujinkimkim 2023. 1. 17.

10546번: 배부른 마라토너 (acmicpc.net)

 

10546번: 배부른 마라토너

마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명

www.acmicpc.net

이 친구 정말

나랑 서로 똥꼬집 엄청 부렸다

물론 내가 졌다

nameList = []
num = int(input())
for i in range(num*2 -1):
    name = input()
    if name in nameList:
        nameList.remove(name)
    else:
        nameList.append(name)
print(nameList)

이게 list로 쓴 코드

 

구글링 해보니까

딕셔너리 다들 이용하셨길래...

바로 굽히고 나도 딕셔너리 썼다...

 

import sys
num = int(sys.stdin.readline().rstrip())
nameList = dict()
for _ in range(num*2 - 1):
    name = sys.stdin.readline().rstrip()
    if name not in nameList.keys():
        nameList[name] = 1
    elif name in nameList.keys() and nameList[name] == 0:
        nameList[name] = 1
    else:
        nameList[name] = 0

for key, value in nameList.items():
    if value == 1:
        print(key)
        break

if문에서는

입력받은 값이 nameLlist에 없으면 1로 체크해주고

 

elif문에서는

입력받은 값이 nameList에 있는데, 아래 else문에 걸렸어서 0된 애를 1로 체크해준건데

이걸 왜 했냐면

이미 nameList에는 있는데도 또 입력받아서 0으로 체크됐는데, 그러고도 한번더 입력받은 경우

---->>>>동명이인인 경우

 

문제 보자마자 바로 파이참 킨 나 칭찬해요

근데 파이썬 오랜만에 하니까

입력받는 부분 쓰는 데에서부터 멈칫함

헐~~~

나는 날마다 모든 면에서 점점 좋아지고 있다
-에밀쿠에


댓글