반응형
시간 복잡도: O(N) --> 100%의 정답률
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(H):
# write your code in Python 3.6
block_cnt = 0
stack_arr = []
for i in range(len(H)):
while len(stack_arr) > 0 and stack_arr[-1] > H[i]:
stack_arr.pop()
if len(stack_arr) == 0 or stack_arr[-1] < H[i]:
block_cnt += 1
stack_arr.append(H[i])
return block_cnt
pass
내가 풀고 싶었는데, 너무 안풀려서 구글링을 통해 정답 보고
접근 방법에 대해서 알 수 있었다.ㅜㅜ
이렇게 실력이 느는거겠지 뭐..!!
화이팅 Henry야~~
뒤늦게 다시 한번 풀어봤다!!
그랬더니 이전 풀이가 어느정도 익숙해져서인지
100 점 나왔다! 오예~~~커퓌~~
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(H):
# write your code in Python 3.6
if len(H) == 1:
return 1
block_cnt = 1
stack_arr = []
stack_arr.append(H[0])
for i in range(1, len(H)):
if stack_arr[-1] < H[i]:
stack_arr.append(H[i])
block_cnt += 1
elif stack_arr[-1] == H[i]:
continue
else:
while True:
stack_arr.pop()
if len(stack_arr) == 0:
stack_arr.append(H[i])
block_cnt += 1
break
if stack_arr[-1] < H[i]:
stack_arr.append(H[i])
block_cnt += 1
break
elif stack_arr[-1] > H[i]:
continue
else:
break
return block_cnt
pass
관련 유튜브 강의도 있습니다~~ㅎㅎ
https://www.youtube.com/watch?v=0rRakwhbgqU
저의 강의입니다~~ㅋㅋㅋ
반응형
'Codility' 카테고리의 다른 글
Codility - MaxDoubleSliceSum 문제풀이 (0) | 2020.05.19 |
---|---|
Codility - EquiLeader 문제풀이 (0) | 2020.05.18 |
Codility - Nesting 문제풀이 (1) | 2020.04.28 |
Codility - Fish (0) | 2020.04.27 |
Codility - Brackets (0) | 2020.04.27 |