문제 링크(Link)
https://www.acmicpc.net/problem/9322
문제 해결(Solution)
1. 제 1 공개키와 제 2 공개키의 순서를 저장하고 처리하는 자료구조에 관한 문제.
2. ① 문자열을 인덱스로 저장하면서 동시에 자동 정렬이 되지 않는 자료구조인 'unordered_map'을 사용.
② 제 1 공개키의 순서를 저장하는 배열(order)을 사용.
③ 제 2 공개키가 주어지면, ②에서 사용한 배열의 값을 인덱스로 사용해서 답을 저장하는 배열(answer)을 사용.
ex) 제 1 공개키 : "I AM HAPPY" 제 2 공개키 : "AM HAPPY I" 암호문 : "LOVES HER HE"
- unordered_map(first==string, second==order) : { {I, 0}, {AM, 1}, {HAPPY, 2} }
- order : { 1, 2, 0 }
- answer[order[0]] == answer[1] == "LOVES"
answer[order[1]] == answer[2] == "HER"
answer[order[2]] == answer[0] == "HE"
- 평문 : "HE LOVES HER"
주의할 점 || 생각해볼 점(Caution || Consideration)
1. unordered_map에 대해서 알아야 이 풀이를 이해할 수 있다.
참고(Reference)
- unordered_map에 관한 설명 : http://www.cplusplus.com/reference/unordered_map/unordered_map/
※ 정확하고 부드러운 태클은 언제나 환영입니다.
'Problem Solving > 자료구조 및 구현' 카테고리의 다른 글
BOJ 2174 - 로봇 시뮬레이션 (0) | 2017.10.16 |
---|---|
BOJ 6549 - 히스토그램에서 가장 큰 직사각형 (0) | 2017.10.07 |
BOJ 14729 - 칠무해 (0) | 2017.09.21 |
BOJ 2696 - 중앙값 구하기 (0) | 2017.07.30 |
BOJ 5675 - 음주 코딩 (0) | 2017.07.04 |