[숫자의 표현]
My answer
def solution(n):
answer = 0
for i in range(1,n+1):
answer+=sums(i,n)
return answer
def sums(n,tmp):
sumt=0
while(sumt<tmp):
sumt+=n
n+=1
if sumt==tmp:
return 1
else:
return 0
Another answer
def expressions(num):
return len([i for i in range(1,num+1,2) if num % i is 0])
더보기
우선 아래 코드는 수학적 방법을 이용한 방법이라 아래 증명을 인용하였다. 궁금하면 참고하길 바란다.
https://gkalstn000.github.io/2021/01/21/%EC%88%AB%EC%9E%90%EC%9D%98-%ED%91%9C%ED%98%84/
[땅따먹기]
Another answer
def solution(land):
for i in range(1,len(land)):
for j in range(4):
land[i][j] = max([land[i-1][k] for k in range(4) if k!=j]) + land[i][j]
return max(land[-1])
[다음 큰 숫자]
My answer
def countzero(n):
tmp=[]
while(n!=0):
tmp.append(n%2)
n//=2
return(tmp.count(1))
def solution(n):
answer = 0
tmp=[]
answer=countzero(n)
i=n+1
while(1):
if(countzero(i)==answer):
return i
else:
i+=1
Another answer
def nextBigNumber(n):
num1 = bin(n).count('1')
while True:
n = n + 1
if num1 == bin(n).count('1'):
break
return n
더보기
똑같은 방법으로 푼 문제인데 아래 코드는 이진수 만드는 걸 함수 bin()을 이용해서 쉽게 사용했다.
[[3차] n진수 게임]-[2018 KAKAO BLIND RECRUITMENT]
My answer
def solution(n, t, m, p):
answer = ''
tmp,tmp2=[],[]
# 11~16 진법까지는 아래와 같이 변형된다.
trans={10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'}
i=0
'''n진법으로 변환된 수를 한 글자씩 끊어서 넣었을 때 총 갯수가 사용자가 말해야 되는
수의 총 갯수를 넘어가면 멈춘다'''
while(len(tmp2)<=p+m*t-1):
j=i
'''10진법의 숫자를 n진법의 숫자로 변형하여 한글자씩 tmp에 거꾸로 저장한뒤,
tmp2에 다시 거꾸로 즉 올바른방향으로 넣는다'''
while(1):
if(n>=11 and j%n>=10):
# 11진법 이상부터는 변환해서 넣는다
tmp.append(str(trans[j%n]))
else:
tmp.append(j%n)
j//=n
if(j==0):
break
tmp.reverse()
tmp2+=[i for i in tmp]
tmp=[]
i+=1
for i in range(p-1,p+m*t-1,m):
# 이용자가 말해야 되는 순번 인덱스에 저장된 숫자를 말한다.
answer+=str(tmp2[i])
return answer
Another answer
def convert(n,c,l):
answer=[]
if n==0:
return [0]
while n!=0:
a = n%c
n = n//c
if a>=10:
a = chr(ord('A') + a - 10)
answer.append(a)
return l + list(reversed(answer))
def solution(n, t, m, p):
answer = ''
a = []
i=0
while len(a) < t*m:
a = convert(i,n,a)
i+=1
for i in range(t):
answer+=str(a[i*m+p-1])
return answer
728x90
반응형
'코딩테스트 > 프로그래머스[Python]' 카테고리의 다른 글
[프로그래머스] 10/02 (1) (0) | 2021.10.02 |
---|---|
[프로그래머스] 09/29 (1) (0) | 2021.09.29 |
[프로그래머스] 09/27 (6) (0) | 2021.09.27 |
[프로그래머스] 09/26 (1) (0) | 2021.09.26 |
[프로그래머스] 09/24 (2) (0) | 2021.09.24 |