프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(n):
answer = 0
while True:
if n == 0:
return answer
elif n == 1:
return answer + 1
else:
while n % 2 == 0:
n //= 2
n -= 1
answer += 1
처음에는 dp로 풀었다가 효율성 0점 맞고 다시 위의 코드로 풀었더니 통과했다...
아래의 코드가 효율성 0점 맞은 DP 풀이ㅠ정확성은 다 통과하긴 했다. N이 10억까지 나와서 dp로 풀면 안된다.
def solution(n):
ans = 0
dp = [int(1e9) for _ in range(n+1)]
dp[0], dp[1] = 0, 1
for i in range(2, n+1):
if i % 2 == 0:
dp[i] = dp[i // 2]
else:
dp[i] = dp[i-1] + 1
return dp[n]
근데 다 풀고 다른 사람들 풀이를 보니 정말 짧게 풀었는데 또 처음보는 함수 나왔다.
def solution(n):
return bin(n).count('1')
bin() 함수는 10진수를 2진수로 바꾸어주는 함수이다. 주어진 n을 2진수로 바꾸고 1의 개수를 세어주면 쉽게 풀 수 있는 문제였다...
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 숫자의 표현 (0) | 2022.10.19 |
---|---|
[Python/파이썬] 프로그래머스 올바른 괄호 (0) | 2022.10.18 |
[Python/파이썬] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 (0) | 2022.10.13 |
[Python/파이썬] 프로그래머스 최솟값 만들기 (0) | 2022.10.13 |
[Python/파이썬] 프로그래머스 Summer/Winter Coding(~2018) 영어 끝말잇기 (0) | 2022.10.11 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(n): answer = 0 while True: if n == 0: return answer elif n == 1: return answer + 1 else: while n % 2 == 0: n //= 2 n -= 1 answer += 1
처음에는 dp로 풀었다가 효율성 0점 맞고 다시 위의 코드로 풀었더니 통과했다...
아래의 코드가 효율성 0점 맞은 DP 풀이ㅠ정확성은 다 통과하긴 했다. N이 10억까지 나와서 dp로 풀면 안된다.
def solution(n): ans = 0 dp = [int(1e9) for _ in range(n+1)] dp[0], dp[1] = 0, 1 for i in range(2, n+1): if i % 2 == 0: dp[i] = dp[i // 2] else: dp[i] = dp[i-1] + 1 return dp[n]
근데 다 풀고 다른 사람들 풀이를 보니 정말 짧게 풀었는데 또 처음보는 함수 나왔다.
def solution(n): return bin(n).count('1')
bin() 함수는 10진수를 2진수로 바꾸어주는 함수이다. 주어진 n을 2진수로 바꾸고 1의 개수를 세어주면 쉽게 풀 수 있는 문제였다...
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 숫자의 표현 (0) | 2022.10.19 |
---|---|
[Python/파이썬] 프로그래머스 올바른 괄호 (0) | 2022.10.18 |
[Python/파이썬] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 (0) | 2022.10.13 |
[Python/파이썬] 프로그래머스 최솟값 만들기 (0) | 2022.10.13 |
[Python/파이썬] 프로그래머스 Summer/Winter Coding(~2018) 영어 끝말잇기 (0) | 2022.10.11 |