문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7056 : 두 딕셔너리 합치기

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 1 •통과: 1 •만든사람: suakii

7056 : 두 딕셔너리 합치기

시간 1.000s · 메모리 256MB · 제출 1 · 정답 1

문제 설명

두 개의 서로 다른 딕셔너리 A와 B를 하나로 병합하는 프로그램을 작성하십시오.
병합 과정에서 키(Key) 충돌이 발생할 경우, 해당 키의 값(Value) 중 더 큰 값을 선택하여 유지하는 정책을 따릅니다.
결과는 키의 사전순(오름차순)으로 정렬하여 출력해야 합니다.

[제약 조건]
• 딕셔너리 크기 $N, M$: $0 \le N, M \le 500$

입력 설명

첫째 줄에 딕셔너리 A의 크기 N이 주어집니다. (0 ≤ N ≤ 500)
둘째 줄부터 N개의 줄에 걸쳐 딕셔너리 A의 "키 값" 쌍이 공백으로 구분되어 주어집니다. 값은 정수형태입니다.
이후 다음 줄에 딕셔너리 B의 크기 M이 주어집니다. (0 ≤ M ≤ 500)
그 다음 줄부터 M개의 줄에 걸쳐 딕셔너리 B의 "키 값" 쌍이 공백으로 구분되어 주어집니다.

출력 설명

병합된 최종 딕셔너리의 내용을 키의 사전순으로 한 줄에 하나씩 "키: 값" 형식으로 출력합니다.

입력 예시
COPY
복사되었습니다!

3
apple 10
banana 20
cherry 30
3
banana 25
cherry 15
date 40

출력 예시
COPY
복사되었습니다!

apple: 10
banana: 25
cherry: 30
date: 40

도움

두 딕셔너리의 병합은 파이썬의 update() 메소드나 {**dict_a, **dict_b} 문법을 이용할 수 있으나, 값 충돌 처리가 필요하므로 직접 반복문을 활용해 값을 조건부 갱신하는 것이 안전합니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘