일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SW Expert Academy
- 프로그래머스
- 17144번
- 미세먼지 안녕!
- python
- 14499번
- HTML 기초
- 수식 최대화
- 15686번
- 빛의 경로 사이클
- 경주로 건설
- 스타트 택시
- 어른 상어
- 백준 알고리즘
- 1789번
- 19238번
- 2020 카카오 인턴십
- 감소하는 수
- 파이썬
- 12869번
- 1038번
- SW ExpertAcademy
- 16234번
- 베스트엘범
- 9095번
- 12865번
- 보석 쇼핑
- 거울 설치
- QueryDSL 기초
- 키패드 누르기
Archives
- Today
- Total
보물창고 블로그
SW Expert Academy 5658. [모의 SW 역량테스트] 보물상자 비밀번호 풀이 With Python 본문
알고리즘 풀이/SW Expert Academy
SW Expert Academy 5658. [모의 SW 역량테스트] 보물상자 비밀번호 풀이 With Python
홋 메 2020. 3. 26. 14:03728x90
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
이 문제의 핵심은 총 4번 회전시키되, 처음에 주어진 숫자들을 4로 나눈 값만큼을 16진수 수로 변환해야한다. 나는 A~F는 예외처리하고 나머지는 int로 변환하여 값을 더하였다. 이번 문제의 핵심은 16진수인 수를 10진수 수로 변환하는 것이 핵심이다. 문제를 풀고 나중에 알게 되었지만, 16진수로 변환하려면 int('0x16진수',16)을 사용하면 쉽게 16진수를 10진수로 변환할 수 있다는 것을 알게 되었다. 다음은 내가 해결한 코드이다.
from collections import deque
def solution(numbers, k, number):
list1 = []
# number만큼 로테이트
for _ in range(number):
s = ''.join(numbers)
for i in range(4):
sub = s[i * number:(i + 1) * number]
l = len(sub)
num = 0
for j in range(l - 1, -1, -1):
if sub[j] == 'A':
num += 10 * pow(16, l - j - 1)
elif sub[j] == 'B':
num += 11 * pow(16, l - j - 1)
elif sub[j] == 'C':
num += 12 * pow(16, l - j - 1)
elif sub[j] == 'D':
num += 13 * pow(16, l - j - 1)
elif sub[j] == 'E':
num += 14 * pow(16, l - j - 1)
elif sub[j] == 'F':
num += 15 * pow(16, l - j - 1)
else:
num += int(sub[j]) * pow(16, l - j - 1)
list1.append(num)
numbers.rotate(1)
list1 = set(list1)
list1=sorted(list1,reverse=True)
return list1[k-1]
t = int(input())
for test in range(1, t + 1):
n, k = map(int, input().split())
number = n // 4
numbers = deque(input())
answer=solution(numbers,k,number)
print('#{} {}'.format(test,answer))
'알고리즘 풀이 > SW Expert Academy' 카테고리의 다른 글
SW Expert Academy 5656. [모의 SW 역량테스트] 벽돌 깨기 풀이 With Python (0) | 2020.03.26 |
---|---|
SW Expert Academy 4008. [모의 SW 역량테스트] 숫자 만들기 풀이 With Python (0) | 2020.03.26 |
SW Expert Academy 4012. [모의 SW 역량테스트] 요리사 풀이 With Python (0) | 2020.03.26 |
SW Expert Academy 2117. [모의 SW 역량테스트] 홈 방범 서비스 풀이 With Python (0) | 2020.03.26 |
SW Expert Academy 2105. [모의 SW 역량테스트] 디저트 카페 풀이 With Python (0) | 2020.03.26 |
Comments