showHeap 파일 소스코드좀 부탁해요
842
작성한 질문수 1
강의가 중간에 끊켰는지 ? 갑자기 아무설명도 없다가 showHeap이 나와서 강의 진행하는데 소스 코드좀 부탁드립니다
답변 15
0
'''
피이썬 3.x 버젼과 2.x버젼의 차이가 있으니 유의해주시기 바랍니다.
이 코드는 이전 강의에서 댓글로 써주신 분 것을 가져온거입니다
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
output = StringIO() # for 3.x#output = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
'''
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
0
파이썬 2.x버젼과 3.x버젼이 차이가 있으니 주의해 주세요
그리고 이 코드는 이 전 강의에서 댓글로 소스코드를 올려주신 분 것 입니다.
"""
import math
from io import StringIO, BytesIO
3.x 는 String IO,
2.x는 BytesIO 사용바람
def show_tree(tree, total_width=36, fill= ' '):
Pretty-print a tree
#output = StringIO() # for 3.xoutput = BytesIO() # for 2.x
last_row = -1
for i, n in enumerate(tree):
if i:
row = int(math.floor(math.log(i+1, 2))) # 지수, 밑
# i =0부터 시작돼서 i+1, 이진트리기떄문에 밑은 2
else:
row =0
if row!= last_row:
output.write('\n')
columns = 2**row
col_width = int(math.floor((total_width * 1.0) / columns ))
output.write(str(n).center(col_width, fill))
last_row = row
print(output.getvalue())
print('-'*total_width)
print()
return
"""
주피터 노트북 실행 토큰
0
1
0
코랩 백엔드
0
12
2
전체 과정에 대한 질문입니다.
1
20
1
xgboost 사용 시 오류 이유
0
21
2
강사님 강의 더 주세요
1
22
1
작업형 2 제출하는 법
0
45
2
Section 5. 문자열 슬라이싱, 파생변수, 평균값 질문 드립니다.
0
31
1
예시문제 작업형2(ver. 2025)
0
32
2
수강 연장 문의드립니다.
0
39
2
강사님 강의 잘듣고있습니다! 오류관련 질문 드립니다!
0
36
0
예시문제 작업형2(ver. 2025)
0
44
2
작업형2 모의문제 3 질문
0
49
1
오랜만에 인사드립니다 강사님
1
38
1
강의신청 후
0
47
1
안녕하세요 강사님 문의사항이 있습니다
0
41
1
수강 연장 문의
0
85
4
수강기간 연장 관련 문의
0
58
2
작업형2모의문제3_updated2026.10
0
75
2
안녕하세요. 수강연장 신청드립니다
0
52
2
코랩 링크
0
48
2
사용자설정에 claude 설정들은 어떻게 하나요??
0
65
1
윈도우 환경에서는 진행이 어렵나요?
0
72
1
bisect와 힙의 속도차이
0
389
0
감사합니다.
0
294
0





