wanjutown

고정 헤더 영역

글 제목

메뉴 레이어

wanjutown

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (31)
    • STUDY (26)
      • 매일코딩 (13)
      • 백준알고리즘 (0)
      • Python (6)
      • Wordpress (6)
      • LINUX (1)
    • MOTD (0)
      • DIARY (0)
    • ٩꒰。•◡•。꒱۶ (2)
    • AI 논문스터디 (3)

검색 레이어

wanjutown

검색 영역

컨텐츠 검색

STUDY/Python

  • stack을 활용한 수식의 평가 연습문제!

    2020.07.18 by 돤주

  • 중위수식에서 후위수식으로 변환

    2020.07.18 by 돤주

  • 후위수식(postfix) 계산 알고리즘

    2020.07.18 by 돤주

  • 자료구조 | 재귀 호출 | 순열 구하기

    2020.07.14 by 돤주

stack을 활용한 수식의 평가 연습문제!

1. 다음 각 수식을 지정된 표기법으로 변환하시오. (1) a b / c - d e * + a c * - (postfix -> infix) => ( ( a / b ) - c ) + ( d * e ) - ( a * c ) (2) 5 * 7 + ( 4 - 3 ) / 6 % 9 (infix -> prefix) => + * 5 7 % / - 4 3 6 9 (3) a b c - d + / e a - * c * (postfix -> infix) => ( a / ( b - c + d ) ) * ( e - a ) * c (4) a b / c - d e * + a c * - (postfix -> prefix) => - + ( - / a b c ) ( * d e ) ( * a c ) (5) ( a + b ) * c + d..

STUDY/Python 2020. 7. 18. 13:57

중위수식에서 후위수식으로 변환

입력이 피연산자이면 그대로 출력 입력의 우선순위가 스택 top의 연산자보다 높거나, 스택이 비어있으면 입력을 스택에 push 입력의 우선순위가 스택 top의 연산자보다 낮거나 같으면 스택 top을 pop하고 입력은 push 입력이 '('이면 ')'이 들어올 때까지 다음 연산자를 위의 규칙에 따라 push 입력이 ')'이면 '('이 나올 때까지 스택에서 연산자를 pop, ')'은 출력하지 않고 버린다. 입력이 문자열 끝이면 스택의 모든 연산자를 꺼내서 출력한다. token_stack = [] new_expr = [] def push_token(item): global token_stack token_stack.append(item) def pop_token(): global token_stack temp ..

STUDY/Python 2020. 7. 18. 13:23

후위수식(postfix) 계산 알고리즘

1. 후위 수식(postfix) 계산 알고리즘 수식을 왼쪽에서 오른쪽으로 스캔한다. 수식에서 들어온 입력이 피연산자이면 스택에 넣는다. 입력이 연산자이면 스택에서 피연산자 2개를 꺼내서 계산한 후 결과 값을 다시 스택에 넣는다. stack = [] def push(item): global stack stack.append(item) print_stack() def pop(): global stack temp = stack[-1] stack = stack[:-1] return temp def print_stack(): global stack for i in range(len(stack)): print(stack[i], end=" ") print() def calc(expr): for i in expr: i..

STUDY/Python 2020. 7. 18. 13:21

자료구조 | 재귀 호출 | 순열 구하기

자료구조 연습문제에 재귀호출로 순열 구하는 문제가 나왔는데, 뭔가 쉬울 것 같으면서도 안풀려서 몇일동안 짬짬히 고민하다가 드디어 풀었닿ㅎㅎㅎㅎ 기쁜 마음에 오랜만에 티스토리 들어옴 ~ Q: 재귀 호출로 순열 구하기 A: def reculsive(front, back): if len(back) == 1: for i in front: print(i, end = " ") print(back[0]) else: for i in back: back_tmp = back[:] front_tmp = front[:] back_tmp.remove(i) front_tmp.append(i) reculsive(front_tmp, back_tmp) >>> reculsive([], [1, 2, 3]) 1 2 3 1 3 2 2 1 3..

STUDY/Python 2020. 7. 14. 01:51

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
wanjutown © Magazine Lab

티스토리툴바

티스토리툴바