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 | 29 | 30 |
Tags
- 누적분포함수
- 기본행연산
- 행사다리꼴
- 이항분포
- 이산확률질량함수
- 첨가행렬
- 범주형자료
- 표본평균
- 기댓값과 분산
- 이변량자료
- 베르누이분포
- 이산형
- 수학적확률
- 통계학입문
- 확률밀도함수
- 표본공간
- 조건부확률
- 포아송분포
- 통계학개론
- 피어슨상관계수
- 사조사
- 수치형자료
- jupyter notebook
- 연속확률변수
- pmf
- 모평균
- 절삭평균
- Anaconda
- 균일분포
- 모수
Archives
- Today
- Total
Syeonny의 블로그
프로그래머스 lv.1 3진법 뒤집기 본문
프로그래머스 lv.1 3진법 뒤집기
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
내 코드
def solution(n):
answer = 0
total = ''
while n>=3:
total += ''.join(str(n%3))
n = n//3
total += str(n)
print(total)
for i, idx in enumerate(reversed(total)):
answer += int(idx)*(3**i)
return answer
수정
# 내장함수 사용
def solution(n):
ternary = ""
while n:
ternary += str(n % 3)
n //= 3
# 10진법 변환
return int(ternary, 3)
def solution(n):
ternary = []
while n > 0:
ternary.append(n % 3)
n //= 3
answer = 0
for i, digit in enumerate(ternary):
answer += digit * (3 ** i)
return answer
'코딩테스트' 카테고리의 다른 글
프로그래머스 lv.1 시저암호 (0) | 2025.03.03 |
---|---|
프로그래머스 lv.1 삼총사 (0) | 2025.02.25 |
프로그래머스 lv.1 같은 숫자는 싫어 (0) | 2025.01.14 |
프로그래머스 lv.1 행렬의 덧셈 (0) | 2025.01.04 |
조건식에서의 논리 연산자 사용 (0) | 2025.01.03 |