Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 전처리
- 품사태깅
- 석사
- naver movie review
- Classification Task
- 대학원
- CUDA
- sentiment analysis
- 수기
- 자연어처리
- pytorch
- Word2Vec
- 인공지능
- NLP
- 우울증
- word embedding
Archives
- Today
- Total
슬기로운 연구생활
[프로그래머스] 3진법 뒤집기 본문
* 문제
programmers.co.kr/learn/courses/30/lessons/68935#
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
* 문제 풀이
- 첫째, 반복문을 사용해 10진수를 3진수로 변환한다.
- 둘째, 리스트 형태로 받은 3진수를 reverse 한다.
- 셋째, 반복문을 사용해 다시 10진수로 바꾼다.
* 생각
- 10진법과 3진법의 구현 원리만 알면 간단하게 풀 수 있는 문제이다.
- 10진법 -> 3진법을 할 때는 3의 나머지 값을 순차적으로 입력받으면 된다.
- 3진법 -> 10진법으로 바꿀 때는 3의 N승 한 후 3진법 값이랑 곱하면 된다.
* 코드
def solution(n):
three_list = []
while n >= 3:
num = int(n % 3)
three_list.append(num)
n = n / 3
num = int(n % 3)
three_list.append(num)
three_list.reverse()
answer = 0
for i in range(0, len(three_list)):
answer += (3**i)*three_list[i]
return answer
'슬기로운 코테 생활' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2020.11.03 |
---|---|
[프로그래머스] 같은 숫자는 싫어 (0) | 2020.11.02 |
[프로그래머스] 2016년 (0) | 2020.10.29 |
[프로그래머스] 가운데 글자 가져오기 (0) | 2020.10.25 |
[프로그래머스] 체육복 (0) | 2020.10.24 |
Comments