Algorythm/백준 BEAKJOON

[python/파이썬] 백준 BEAKJOON 22966번: 가장 쉬운 문제를 찾는 문제

gapsoo 2023. 5. 22. 23:47

[python/파이썬] 백준 BEAKJOON 22966번: 가장 쉬운 문제를 찾는 문제

https://www.acmicpc.net/problem/22966

 

22966번: 가장 쉬운 문제를 찾는 문제

예선 문제를 성실하게 복습한 학생들이라면 예선에 출제된 5문제가 난이도 순서대로 정렬되어 있다는 것을 알아차렸을 것이다. 하지만 본선은 문제 제목에 대해 사전순으로 정렬했기 때문에 난

www.acmicpc.net

 

 

 

 

1) 문제

 

 

 

2) 문제 풀이/ 정답

 

문제 자체도 이해하기 어렵고, 어떻게 풀어야 하는지 감이 안 와서 

다음 링크에서 소개한 코드를 사용했다.

 

[출처] 

https://velog.io/@lee_yesol421/%EB%B0%B1%EC%A4%80-22966-%EA%B0%80%EC%9E%A5-%EC%89%AC%EC%9A%B4-%EB%AC%B8%EC%A0%9C%EB%A5%BC-%EC%B0%BE%EB%8A%94-%EB%AC%B8%EC%A0%9C

 

백준 22966 가장 쉬운 문제를 찾는 문제

백준 22966 가장 쉬운 문제를 찾는 문제문자열, 난이도 쌍이 여러 줄로 들어오면 그중 난이도가 가장 낮은 문자열 출력

velog.io

 

dict = {}
for _ in range(int(input())):
	c, n = input().split()
	dict[n] = c
print(dict[min(dict.keys())])

 

line 별로 잘 모르는 부분에 대해서 조사했다.

 

 

 

     (1) 딕셔너리

dict = {}

  • Key와 value로 이루어짐
  • 특정 주제에 대해 연관된 값을 저장할 때 사용한다
  • List와 달리 순서 없음
  • a={}로 초기화 한 후 사용 가능
  • a={key:value}로 생성하면 서 입력가능
  • 추가 입력: a[key]=value

 

 

    (2) for _ in range

for _ in range(int(input())):

 

[출처]

https://mingrammer.com/underscore-in-python/

 

파이썬 언더스코어(_)에 대하여

파이썬에서 언더스코어(underscore, _)는 특별하다. 타 언어에서 언더스코어(_)는 단지 스네이크 표기법의 변수나 함수명을 위해서만 사용되어지

mingrammer.com

 

파이썬 언더스코어(_)를 전에 본 적이 있었는데, 그냥 오타인 줄 알았다...

정리해보도록 하자!

 

-

 

파이썬에서 언더스코어(_)는 다음과 같은 상황에서 사용되는데, 크게 5가지의 경우가 있다고 한다.

  • 인터프리터(Interpreter)에서 마지막 값을 저장할 때
  • 값을 무시하고 싶을 때 (흔히 “I don’t care"라고 부른다.)
  • 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때
  • 국제화(Internationalization, i18n)/지역화(Localization, l10n) 함수로써 사용할 때
  • 숫자 리터럴값의 자릿수 구분을 위한 구분자로써 사용할 때

 

 

    (3) c, n = input().split()

c, n = input().split()

첫 번째 입력 값은 문자열 c에 저장되고, 두 번째 입력 값은 문자열 n에 저장된다.

 

 

 

    (4) a[key]=value

 

dict[n] = c

dict 딕셔너리에 n을 키로 하고 c를 값으로 하는 쌍을 추가한다. 위의 (1)딕셔너리 에서 설명했다.

 

 

 

    (5) dict[min(dict.keys())]

print(dict[min(dict.keys())])

- 모든 입력이 처리된 후, dict.keys()를 사용하여 딕셔너리의 키 목록을 가져온다.

- min() 함수를 사용하여 키 목록에서 가장 작은 값을 찾는다.

- dict[min(dict.keys())]를 통해 딕셔너리에서 해당 키에 대응하는 값을 찾고 출력한다.

 

 

요약하자면, 입력 받은 값을 딕셔너리에 저장하고, 저장된 딕셔너리에서 가장 작은 키에 해당하는 값을 출력하는 코드이다.