아무리 생각을 해봐도 이건 잘 모르겠네요.사용자에게 수식을 받을때 2+3*12+62 이런씩으로 문자열로 받는다고 하면 이걸 정수형으로 변환이 가능 한지 도저히 모르겠네요...저기 보면 두자리숫자들 보이시죠?! 글자하나하나가 char[i]값이기 때문에 정수형으로 바꿀려면 char[i]와char[i+1]이 되어야하는데 제 상식으로는 이해가 안가네요 좀 도와주세요~
스택 계산기라고 하는거 보면 postfix 얘기일텐데, infix 로 수식을 입력받고 계시네요. 뭐 하튼 그거랑 상관없이...
스택을 이용하시면 됩니다.
예로 12 란 입력만 보면
1, push(1) -> [1] 2, push(2) -> [1, 2] +, pop(): 2 -> [1] , pop(): 1*10 + 2 = 12; -> []
간단하게 정리해서 얘기드리자면 숫자가 들어오면 push! 숫자가 아닌게 들어오면 stack 이 빌 때까지 pop! 을 해주면서 숫자를 재조합해주면... 간단히 처리할 수 있습니다.
infix 로 표현된 2+3*12+62 를 postfix 로 바꿔서 2 12 3 * + 62 + 로 바꾸게 되면 똑같은 방식을 이용해서 연산까지 구현할 수가 있구요. ;)
-- 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~ 나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
조합을 하는게 생각보다 힘이 들긴 하네요 아직 많이 모잘라서 로직이 생각이 안난다눙 ㅜ.ㅜ
어떤씩으로 하는지 감은 잡힙니다~ 댓글 감사하구요~ 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다~
좋은 말이네요~근데 그꿈을 너무 따라가다가 사고방식이 이진모드가 되는건 아닌지 걱정이 됩니다ㅜ.ㅜ
/*다른분이 사용하는 문구를 따서 왔습니다*/ 간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락 셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학 여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
숫자넣을 스택하고 연산자 넣을 스택을 2개로 나눠놓으면 어때요?
머리를 굴려라! 그래야 먹고 산다.
그래 난 미쳤다....근데 이렇게 안미치고 늦게 시작해서 어떻게 올라가냐
당연히 두개로 나눠서 연산작업을 합니다... 그런데 위에서 말했듯이 char형으로 수식을 받기 때문에
만일 12를 입력받으면 arr[0]=1, arr[1]=2 이렇게 들어가게 되죠
그걸 합치는 방법을 구하는거구요... 지금 윗분이 말씀하시고 다시 생각해서 로직을 새로 짜니까
답이 나오네요 라인이 좀더 들어가긴 하는데 반복문과 분기문을 좀더 활용하면 되네요 ^^
좀더 좋은 방법이 있음 가르쳐 주시면 감사하겠습니다~
오프토픽인데요
서명이 앞에 있으니까 이상해요... 기분나쁘게 듣지는 마시구요. :) -------------------------- snowall의 블로그입니다.http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
이글이 좀 그런가요 ^^ 그러면 바꿔야죠~
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
스택 계산기라고
스택 계산기라고 하는거 보면 postfix 얘기일텐데, infix 로 수식을 입력받고 계시네요. 뭐 하튼 그거랑 상관없이...
스택을 이용하시면 됩니다.
예로 12 란 입력만 보면
1, push(1) -> [1]
2, push(2) -> [1, 2]
+, pop(): 2 -> [1]
, pop(): 1*10 + 2 = 12; -> []
간단하게 정리해서 얘기드리자면 숫자가 들어오면 push! 숫자가 아닌게 들어오면 stack 이 빌 때까지 pop! 을 해주면서 숫자를 재조합해주면... 간단히 처리할 수 있습니다.
infix 로 표현된 2+3*12+62 를 postfix 로 바꿔서 2 12 3 * + 62 + 로 바꾸게 되면 똑같은 방식을 이용해서 연산까지 구현할 수가 있구요. ;)
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
좋은 정보 감사합니다
조합을 하는게 생각보다 힘이 들긴 하네요 아직 많이 모잘라서 로직이 생각이 안난다눙 ㅜ.ㅜ
어떤씩으로 하는지 감은 잡힙니다~ 댓글 감사하구요~ 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다~
좋은 말이네요~근데 그꿈을 너무 따라가다가 사고방식이 이진모드가 되는건 아닌지 걱정이 됩니다ㅜ.ㅜ
/*다른분이 사용하는 문구를 따서 왔습니다*/
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
냠..
숫자넣을 스택하고
연산자 넣을 스택을 2개로 나눠놓으면 어때요?
머리를 굴려라! 그래야 먹고 산다.
그래 난
그래 난 미쳤다....근데 이렇게 안미치고 늦게 시작해서 어떻게 올라가냐
당연히 두개로 나눠서 연산작업을 합니다... 그런데 위에서 말했듯이 char형으로 수식을 받기 때문에
만일 12를 입력받으면 arr[0]=1, arr[1]=2 이렇게 들어가게 되죠
그걸 합치는 방법을 구하는거구요... 지금 윗분이 말씀하시고 다시 생각해서 로직을 새로 짜니까
답이 나오네요 라인이 좀더 들어가긴 하는데 반복문과 분기문을 좀더 활용하면 되네요 ^^
/*다른분이 사용하는 문구를 따서 왔습니다*/
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
그래 난
그래 난 미쳤다....근데 이렇게 안미치고 늦게 시작해서 어떻게 올라가냐
좀더 좋은 방법이 있음 가르쳐 주시면 감사하겠습니다~
/*다른분이 사용하는 문구를 따서 왔습니다*/
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
오프토픽인데요 서명
오프토픽인데요
서명이 앞에 있으니까 이상해요...
기분나쁘게 듣지는 마시구요. :)
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
그래 난
그래 난 미쳤다....근데 이렇게 안미치고 늦게 시작해서 어떻게 올라가냐
이글이 좀 그런가요 ^^ 그러면 바꿔야죠~
/*다른분이 사용하는 문구를 따서 왔습니다*/
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기