▶문제설명
[SWEA] 5658. 보물상자 비밀번호
▶Hint
브루트포스 & 시뮬레이션 문제이다.
사각형의 각 변에 적힌 16진수들을 시계방향으로 회전시키기 위해서 Queue 자료구조를 사용하는 것이 적합하다.
하지만 Queue는 저장된 데이터에 인덱스로 접근하는 것이 불가능하다.
그래서 Deque 자료구조를 활용한다.
1. 16진수들을 Deque에 모두 push_back한다.
2. 4개의 변에 있는 16진수를 각각 10진수로 변환하여 list에 저장한다.
[변환 방법]
16진수 | 10진수 |
AF2 | 16^2*10 + 16^1*15 + 16^0*2 |
2CAE | 16^3*2 + 16^2*12 + 16^1*10 + 16^0*14 |
573AB | 16^4*5 + 16^3*7 + 16^2*3 + 16^1*10 + 16^0*11 |
3. 시계방향으로 1회 회전시킨다.
[시계방향으로 1회 회전시키는 방법]
: Deque의 front에서 데이터를 pop해서 push_back한다.
4. 2~3을 N/4번 반복한다. (하나의 변에 해당하는 16진수의 개수)
5. list를 내림차순으로 정렬한다.
6. list의 unique 함수를 통해 중복된 숫자를 제거한다.
7. list의 K-1번째에 저장된 값을 정답으로 출력한다.
▶Solution
'■ 알고리즘 문제 풀이 > SWEA' 카테고리의 다른 글
[SWEA-D3] 1244. 최대 상금 (7) | 2019.04.09 |
---|---|
[SWEA] 2112. 보호 필름 (0) | 2019.03.15 |
[SWEA] 1868. 파핑파핑 지뢰찾기 (0) | 2019.03.15 |
[SWEA] 5644. 무선 충전 (0) | 2019.03.06 |
[SWEA] 4014. 활주로 건설 (0) | 2019.03.05 |