Link : programmers.co.kr/learn/courses/30/lessons/12985
Python
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def solution(n, a, b):
a -= 1
b -= 1
matching_list = [1 if i == a or i == b else 0 for i in range(n)]
counting = 1
while len(matching_list) > 2:
for i in range(0, n, 2):
if matching_list[i] == 1 and matching_list[i + 1] == 1:
return counting
matching_list = [1 if matching_list[i] == 1 or matching_list[i + 1] == 1 else 0 for i in range(0, n, 2)]
n = len(matching_list)
counting += 1
return counting
|
cs |
FeedBack
- matching_list를 a와 b만큼 [홀수] 뺀 값에서 해주면 나머지 대진표가 필요없음. 공간낭비를 줄일 수 있음
cjw.git@gmail.com
'알고리즘 > 소스코드' 카테고리의 다른 글
PROGRAMMERS 77485: 행렬 테두리 회전하기 (0) | 2021.06.21 |
---|---|
PROGRAMMERS 76502: 괄호 회전하기 (0) | 2021.06.21 |
PROGRAMMERS 17684: [3차] 압축 (0) | 2021.04.05 |
PROGRAMMERS 1844: 게임 맵 최단거리 (0) | 2021.04.02 |
PROGRAMMERS 49994: 방문 길이 (0) | 2021.04.02 |
댓글