Last active
June 4, 2020 05:20
-
-
Save DongguemYoo/b9c32e6cc1de9b970cc0f2d871597f32 to your computer and use it in GitHub Desktop.
[코딩테스트] 124나라의 숫자.py (python)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//정답을 더하는 부분에서...answer+=결과값 으로 가니까 거꾸로 더해져서 문제가 있었음 | |
//answer = 결과 +answer를 하면 원하는 순서로 더할수있음..ㅋㅋ..머리가 안돌아간다... | |
def solution(n): | |
answer = '' | |
x =[] | |
rest=0 | |
ttt =[4,1,2] | |
while n != 0: | |
rest = int(n) % 3 | |
n = int(n / 3) | |
if(rest ==0): | |
n -=1; | |
answer = str(ttt[rest]) + answer | |
# x.append(str(ttt[rest])) | |
# | |
# x.reverse() | |
# for ss in x: | |
# answer+=ss | |
return answer | |
///다른 사람의 풀이 ( 내풀이 업그레이드버전) | |
// 미쳣넹;; 똑똑한클라스보소 | |
def change124(n): | |
num = ['1','2','4'] | |
answer = "" | |
while n > 0: | |
n -= 1 //if문을 없애기위해 미리 -1을함 | |
answer = num[n % 3] + answer | |
n //= 3 | |
return answer | |
//다른사람 풀이 2 재귀함수를 이용한 풀이! 개인적으로 이게 더 멋있어보임 | |
def change124(n): | |
if n<=3: | |
return '124'[n-1] | |
else: | |
q, r = divmod(n-1, 3) //divmod라는 함수는 뭔지 모름 | |
return change124(q) + '124'[r] | |
# 아래는 테스트로 출력해 보기 위한 코드입니다. | |
print(change124(10)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment