728x90
반응형
1 연습문제
** 문제는 처음에 언급한 책에 나와있습니다 **
1. 선형 리스트
2. 1번
3. 4 - 2 - 3 - 1
4. katok.append(None)
5.del(katok[7])
6. 4 - 2 - 3 - 1
7. 4번
8. 4번
2 응용예제 01
카톡 친구 이름과 카톡 횟수를 입력하면 자동으로 위치를 찾아 삽입하는 프로그램이다. 카톡 초기 정보는 ('친구이름', 연락횟수) 튜플 리스트로 시작한다.
## 함수 선언 부분 ##
def find_and_insert_data(friend, k_count) :
findPos = -1
for i in range(len(katok)) :
pair = katok[i]
if k_count >= pair[1] :
findPos = i
break
if findPos == -1 :
findPos = len(katok)
insert_data(findPos, (friend, k_count))
def insert_data(position, friend) :
if position < 0 or position > len(katok) :
print("데이터를 삽입할 법위를 벗어났습니다")
return
katok.append(None) #빈칸 추가
KLen = len(katok) #배열의 현재 크기
for i in range(KLen-1,position, -1) :
katok[i] = katok[i-1]
katok[i-1]=None
katok[position] = friend #지정한 위치에 친구 추가
katok = [('다현', 200), ('정연', 150), ('쯔위', 90), ('사나', 30), ('지효', 15)]
if __name__ == "__main__" :
while True :
data = input("추가할 친구-->")
count = int(input("카톡 횟수-->"))
find_and_insert_data(data, count)
print(katok)
3 응용예제 02
특수 다항식의 선형 리스트 표현과 계산 프로그램에서 차수 배열과 계수 배열을 2차원 배열로 저장한 후 결과가 동일하게 나오도록 한다.
## 함수 선언 부분 ##
def printPoly(p_x) :
polyStr = "P(x) = "
for i in range (len(px[0])) :
term = p_x[0][i]
coef = p_x[1][i]
if(coef >= 0) :
polyStr += "+"
polyStr += str(coef) + "x^" + str(term) + " "
return polyStr
def calcPoly(xVal, p_x) :
retValue = 0
for i in range (len(p_x[0])) :
term = p_x[0][i]
coef = p_x[1][i]
retValue += coef * xValue ** term
return retValue
px = [[300, 20, 0],
[7, -4, 5]]
if __name__ == "__main__" :
pStr = printPoly(px)
print(pStr)
xValue = int(input("X 값-->"))
pxValue = calcPoly(xValue, px)
print(pxValue)
728x90
반응형
'자료구조' 카테고리의 다른 글
단순 연결 리스트의 일반 구현과 응용 (0) | 2022.10.13 |
---|---|
단순 연결 리스트의 개념과 간단구현 (0) | 2022.10.08 |
선형 리스트의 일반 구현과 응용 (0) | 2022.10.07 |
선형 리스트의 개념과 간단 구현 (0) | 2022.10.07 |
연습문제 (0) | 2022.10.05 |