개발자일걸요..?

3진법 뒤집기 본문

알고리즘코딩/Programmers

3진법 뒤집기

Re_A 2021. 7. 25. 11:10
728x90
반응형

링크 : https://programmers.co.kr/learn/courses/30/lessons/68935

 

코딩테스트 연습 - 3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수

programmers.co.kr

(프로그래머스 > 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 3진법 뒤집기(level1))

 


 

<문제>

 

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

 

 


 

<내가 작성한 코드 1>

 

def solution(n):
    #3진법으로 바꾸기
    temp =[]
    while(n!=0):
        temp.insert(0,n%3)
        n=n//3

    #3진법 뒤집기 -> 10진법으로 변환
    temp.reverse()
    t =""
    for item in temp:
        t += str(item)
    answer = int(t,3)
    return answer

 

 

<내가 작성한 코드 2(과정 미중시, 결과값만 나오면 되는 경우)>

 

def solution(n):
    t=""
    while(n!=0):
        t+=str(n%3)
        n=n//3
    return int(t,3)

 


 

<참고한 개념>

 

int()함수 

  1. int(x) : 문자열 혹은 실수형인 인자 x를 정수형으로 반환한다.
  2. int(x,base) : base진수인 x(문자형)를 10진수로 변환하여 결과값을 return 한다.   ex) int('0021',3) = 7

 

진법 변환

주어진 수 x를 base로 나누어 나머지는 변환하는 진법배열에 삽입, 몫은 x로 대입을 반복하여 몫이 0이 될때 종료

반응형

'알고리즘코딩 > Programmers' 카테고리의 다른 글

실패율  (0) 2021.07.25
내적  (0) 2021.07.25
소수 만들기  (0) 2021.07.24
음양 더하기  (0) 2021.07.24
문자열 다루기  (0) 2021.07.24
Comments