2011년 3월 28일 월요일
#!/usr/bin/ruby
# coding: utf-8
# 전위 표기(prefix)에서 후위 표기(postfix)로 변환
prefix = '+ * / A ^ B C D E'.split # 입력된 전위 표기 배열
postfix = [] # 후위 표기 출력용 배열
index = 0 # 후위 표기 배열 인덱스
stack = [] # 연산자 스택
for element in prefix
if element =~ /[+\-\*\/\^]/
stack.push(element)
else
postfix[index] = element
index = index + 1
# first 는 bottom, last 는 top
while (not stack.empty?) and (stack.last.eql? :left_done)
raise 'error 1' if stack.pop.nil?
postfix[index] = stack.last
index = index + 1
raise 'error 2' if stack.pop.nil?
end # end of while
stack.push(:left_done)
end # end of case
end # end of for
p prefix.join(" ") #=> "+ * / A ^ B C D E"
p postfix.join(" ") #=> "A B C ^ / D
10여 년간 한글 문제 해결도 못하고 있는데 오픈소스 이 딴거 개나 줘버리라고 하세요. 오픈소스 개발자님, 관계자님 제가 하는 일에 제발 신경 끄세요. 도움 주지 마세요. 시간 빼앗겨 방해만 됩니다.
Translate
피드 구독하기:
댓글 (Atom)
응용 어플 끝글자 버그 잡는 거 진짜 개쉽습니다
그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...
-
인터넷에서 웹 브라우저로 파일을 받으면 서버 측의 잘못된 설정으로 인하여 한글 파일 이름이 이상하게 되는 경우가 많다. cp949 코드가 utf-8 로 둔갑된 경우 사용자 컴퓨터 환경이 utf-8 환경이라면 그 파일 이름 자체가 utf-8 이기 ...
-
예전에 dasom 개발하면서 많은 글을 작성했었는데 당시 drupal 로 홈페이지를 사용했었는데 drupal 관리를 못해서 데이터를 다 날려먹었습니다. 복구가 안 되요. 그래서 그 때부터 그냥 블로거에 글쓰고 있는 겁니다. 블로거는 구글에서 관리를 하...
-
그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...
댓글 없음:
댓글 쓰기