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 하냐고...
-
달콤(Dalkom)은 리브레오피스에서 hwp 문서를 보기 위한 확장 기능입니다. libhwp 와 연동에 성공하여 hwp 문서에 있는 문자를 리브레오피스에서 볼 수 있습니다. 시간상의 이유 때문에 우선적으로 문자만 작업했습니다. 렌더링을 리브레오피...
-
그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...
-
제가 원래 개발자가 아니라 원래가 일반 사용자였습니다.과거 MS윈도우 품질이 개떡같아서 유닉스 사용하다가 유닉스가 비싸고 망해서 리눅스를 사용하고 있는 거고 리눅스 품질이 지금은 우수하지만 예전에는 문제가 진짜 많았죠. 그렇게 리눅스를 지금까지 사용해...
댓글 없음:
댓글 쓰기