https://school.programmers.co.kr/learn/courses/30/lessons/17687

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 풀이

  1. n진수 변환 함수 만들기
  2. 변환한 숫자들을 필요한숫자*참가인원 개수까지 만들고,
  3. 필요한 만큼만 가져온다.

코드리뷰 하다보니 안 써도 될 코드가 있어서 줄였다.

answer=answer[:t*m]
    answer=answer[p-1::m]

->

    answer=answer[p-1:t*m:m]
import string
# number = '0123456789' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    number = string.digits + string.ascii_uppercase

코드

def to_n(number, base):
    T="0123456789ABCDEF"
    i,j=divmod(number,base)
    if i==0:
        return T[j]
    else:
        return to_n(i,base)+T[j]
def solution(n, t, m, p):
    answer = ''
    num=0
    while len(answer)<t*m:
        answer+=to_n(num,n)
        num+=1
    answer=answer[p-1:t*m:m]
    return answer