Coding Test/프로그래머스(Python)
[프로그래머스/Python] Level 2_[3차] n진수 게임 (2018 KAKAO BLIND RECRUITMENT)
syunze
2023. 10. 13. 15:35
📌문제 유형
2018 KAKAO BLIND RECRUITMENT
📌문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📌나의 문제풀이
- convert에서 진수 변환 함수 만들어서 변환
- t(미리 구할 숫자의 개수) * m(게임에 참가하는 인원) 만큼만 games 길이 반복
- p의 맞는 순서만 선정해서 answer에 저장
import string
def convert(num, base) :
tmp = string.digits+string.ascii_uppercase
q, r = divmod(num, base)
if q == 0 :
return tmp[r]
else :
return convert(q, base) + tmp[r]
def solution(n, t, m, p):
answer = ''
games = ''
num = 0
while True:
if len(games) > t*m:
break
now_num = convert(num,n)
games += str(now_num)
num += 1
for i in range(len(games)):
if i % m == p-1:
answer += games[i]
if len(answer) == t:
break
return answer
📌다른 사람의 문제풀이
big = ["A","B","C","D","E","F"]
def solution(n, t, m, p):
a="0"
i=0
#for i in range(t*m):
while True:
if len(a)>=t*m:
break
b=""
j=i
while (j):
if j%n>9:
b=big[j%n-10]+b
else:
b=str(j%n)+b
j=j//n
a=a+b
i=i+1
answer = a[p-1::m][:t]
return answer
📌리뷰
- 진법 변환 함수 가져와서 사용
[Python] 진법 변환 총 정리?!
[Pyhton 진법 변환] n진수 → 10진수 python에서는 기본적으로 int() 라는 함수를 지원합니다. int(string, base) 위와 같은 형식으로 사용하면 됩니다. base에는 진법을 넣으면 됩니다. print(int('111',2)) print(int
security-nanglam.tistory.com
[Python] 진수 변환
[Python] 진수 변환 코딩테스트 문제들을 풀다보면 진수 변환을 하는 문제가 자주 등장한다. 오늘은 진수 변환을 하는 방법 2가지를 소개한다. 10 진수 -> n 진수 10진수를 n 진수로 바꾸는 것은 학생
joyjangs.tistory.com
def convert(num, base) :
tmp = string.digits+string.ascii_uppercase # 십진수 모두 출력 + 영어 대문자 출력
q, r = divmod(num, base) # (몫,나머지)가 출력되도록
if q == 0 :
return tmp[r] # n진수로 나타낼 수 있음
else :
return convert(q, base) + tmp[r] # q == 0이 될때까지 반복. 가장 먼저 계산된 나머지는 맨 끝에 저장
728x90