Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 편스토랑
- gs25
- programmers
- Git
- Docker
- dacon
- 백준
- PYTHON
- ubuntu
- github
- Kaggle
- leetcode
- 프로그래머스 파이썬
- 맥북
- 코로나19
- SW Expert Academy
- Real or Not? NLP with Disaster Tweets
- 데이콘
- 파이썬
- 더현대서울 맛집
- 금융문자분석경진대회
- 자연어처리
- Baekjoon
- AI 경진대회
- ChatGPT
- 캐치카페
- hackerrank
- 우분투
- 프로그래머스
- 편스토랑 우승상품
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 17219번 : 비밀번호 찾기 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 비밀번호 찾기 입니다.
👨🏻💻 문제 풀이
입력받은 사이트 비밀번호들의 사전을 만들어두고 하나씩 꺼내서 출력하면 됩니다.
import sys
input = sys.stdin.readline
입력은 100,000번까지 받기때문에 input() 대신에 sys.stdin.readline() 을 활용합니다.
단!!!! sys.stdin.readline 의 경우에는 입력 받은 값의 맨 뒤에 "\n" 개행문자가 포함됩니다.
개행문자를 고려하지 않고 문제를 풀면! 위처럼 런타임 에러 (KeyError) 결과를 받습니다.
이를 해결하기 위해서는!
sys.stdin.readline().rstrip()
위처럼 rstrip()을 붙여서 개행문자를 제거합니다.
site_password_dict = {}
site_list = []
input_site, find_site = map(int, input().rstrip().split())
for _ in range(input_site):
site, password = input().rstrip().split()
site_password_dict[site] = password
먼저 입력 받은 값을 활용하여 사이트 주소를 키값으로 값을 비밀번호로 하는 Dictionary를 하나 만들어줍니다.
answer = []
for site in site_list:
answer.append(site_password_dict[site])
answer = "\n".join(answer)
그런 다음 입력 받은 사이트명 마다 비밀번호를 찾아 리스트에 저장해두었다가 "\n" ( 개행문자 ) 로 join하여
정답을 만들어줍니다.
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
import sys
input = sys.stdin.readline
def find_password(site_password_dict, site_list):
answer = []
for site in site_list:
answer.append(site_password_dict[site])
return "\n".join(answer)
if __name__ == "__main__":
site_password_dict = {}
site_list = []
input_site, find_site = map(int, input().rstrip().split())
for _ in range(input_site):
site, password = input().rstrip().split()
site_password_dict[site] = password
for _ in range(find_site):
site_list.append(input().rstrip())
print(find_password(site_password_dict, site_list))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 9653번 : 스타워즈 로고 (Python) (0) | 2022.03.07 |
---|---|
[BaekJoon] 5622번 : 다이얼 (Python) (0) | 2022.03.06 |
[BaekJoon] 2338번 : 긴자리 계산 (Python) (0) | 2022.03.04 |
[BaekJoon] 2231번 : 분해합 (Python) (0) | 2022.03.03 |
[BaekJoon] 1431번 : 시리얼 번호 (Python) (0) | 2022.03.02 |
Comments