Skip to content

Commit

Permalink
[level 0] Title: 1로 만들기, Time: 0.01 ms, Memory: 10 MB -BaekjoonHub
Browse files Browse the repository at this point in the history
  • Loading branch information
boyamie committed Jul 16, 2024
1 parent c0ecf18 commit ac1eb26
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
def solution(num_list):
cnt = 0
for i in num_list:
while i > 1:
if i % 2 == 0:
i //= 2
cnt+=1
else:
i = (i-1)//2
cnt +=1
return cnt

70 changes: 70 additions & 0 deletions 프로그래머스/0/181880. 1로 만들기/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# [level 0] 1로 만들기 - 181880

[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/181880)

### 성능 요약

메모리: 10 MB, 시간: 0.01 ms

### 구분

코딩테스트 연습 > 코딩 기초 트레이닝

### 채점결과

정확성: 100.0<br/>합계: 100.0 / 100.0

### 제출 일자

2024년 07월 16일 19:15:10

### 문제 설명

<p>정수가 있을 때, 짝수라면 반으로 나누고, 홀수라면 1을 뺀 뒤 반으로 나누면, 마지막엔 1이 됩니다. 예를 들어 10이 있다면 다음과 같은 과정으로 1이 됩니다.</p>

<ul>
<li>10 / 2 = 5</li>
<li>(5 - 1) / 2 = 2</li>
<li>2 / 2 = 1</li>
</ul>

<p>위와 같이 3번의 나누기 연산으로 1이 되었습니다. </p>

<p>정수들이 담긴 리스트 <code>num_list</code>가 주어질 때, <code>num_list</code>의 모든 원소를 1로 만들기 위해서 필요한 나누기 연산의 횟수를 return하도록 solution 함수를 완성해주세요.</p>

<hr>

<h5>제한사항</h5>

<ul>
<li>3 ≤ <code>num_list</code>의 길이 ≤ 15</li>
<li>1 ≤ <code>num_list</code>의 원소 ≤ 30</li>
</ul>

<hr>

<h5>입출력 예</h5>
<table class="table">
<thead><tr>
<th>num_list</th>
<th>result</th>
</tr>
</thead>
<tbody><tr>
<td>[12, 4, 15, 1, 14]</td>
<td>11</td>
</tr>
</tbody>
</table>
<hr>

<h5>입출력 예 설명</h5>

<p>입출력 예 #1</p>

<ul>
<li>12는 3번, 4는 2번, 15는 3번, 1은 0번, 14는 3번의 연산이 필요하기 때문에 총 11번의 연산이 필요합니다.</li>
</ul>


> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0 comments on commit ac1eb26

Please sign in to comment.