코딩한지 두달됐으니까 너무 머라하지마세여..
뉴비)형아들 후위표기식에서 123+이 12+3인지 1+23인지 어케알아여
익명(118.235)
2024-03-02 01:40
추천 0
댓글 14
다른 게시글
-
Ubuntu 14.04 ibus 한영키 설정과 이슈익명(14.42) | 24.03.02추천 0
-
딱국이 머하는놈인데 [1]익명(106.245) | 24.03.02추천 5
-
요새는 진짜 대기업말고 코테를 아예 안보네 [2]익명(1.230) | 24.03.02추천 0
-
최합 문자는 진짜 계속 봐도 좋다 [12]익명(211.248) | 24.03.02추천 0
-
이번에 면접 보는 작은 중소 떨어지면 걍 지방에 전산직 해야겠다 [16]익명(172.226) | 24.03.02추천 0
-
100년쯤 지나면 리눅스 한글입력기 제대로 된거 나옴? [2]익명(14.42) | 24.03.02추천 0
-
2년차 프론트 이직조언좀익명(39.117) | 24.03.02추천 0
-
한글입력기 쓰려고 xmodmap를 만져야하나? [1]익명(14.42) | 24.03.02추천 0
-
nimf 설정에서 한국어와 한국어(libhangul)의 차이는?익명(14.42) | 24.03.02추천 1
-
근데 돈벌생각하고 개발할생각은 분리해야함 [1]익명(221.140) | 24.03.02추천 0
상황 정보 부족
자바인데 코드 짜기전에 후위표기식 이해부터 하고있는데 이런 개념적질문이 생겼어여.. 스택으로 하면 그냥 {12,3}처럼 되니까 문제없나요?
프로그래밍 언어가 무엇인지와는 상관 없는 질문같고 제 생각에는 어떤 알고리즘 문제를 풀거나 혹은 컴파일러이론 초기 구현을 수행하시는 것 같은데 거기에서 요구조건이 뭔지를 잘 읽어봐야함 만약 피연산자가 1자리 숫자라는 얘기가 있다면 3이랑 2 더하고 이후에 연산자 없이 피연산자 1 나오니까 표기법 오류겠고 공백으로 구분 안된 연속된 숫자 전체를 하나의 숫자로 읽는거면 123에 더할게 없으니 표기법 오류고 피연산자가 최대 2자리라는 조건이 있으면 23이랑 1 더해서 24 출력하면 되겠죠?
아뇨 제가 그냥 계산기 프로젝트 만들고있어요. 사용자가 예를들어 “1+23”이라는 문자열을 치면 그걸 스택에 연산자끼리 숫자끼리 구분해서 넣은 담에 계산해서 결과리턴하는 로직 짜는중인데, 괄호 없을때랑 괄호 한쌍일때는 됐었는데 괄호 두 쌍“(1+2)*(3*4)+5” 같은거부터 안돼서 아예 코드 갈아엎으려고 합니다. 조건 같은게 없고 그냥 사용자가 치는대로출
력해야됩니다. 후위표기법이란거를 몰랐어서 싹다 갈아엎고 이거 적용해서 해보려는데 이론공부하다가 질문했어요 !!
애초에 (1+2)*(3*4)+5 이걸 후위표기법으로 계산하면 12+34**5+ 여야되는데 123+가 왜나와
문자열을 후위표기법으로 변환하는부분에서 잘못된듯?
그리고 너가 말한 예시에서 만약 1+2가아니라 10+2를 한다고 하면 스택에 10이라는 숫자가 들어가있는거니까 102+가 10 + 2인지 1 + 02인지 헷갈릴 그런 경우는 안생겨
메모리를 수직으로 시각화한다고 해보면 아래처럼 쌓여있을거니까 + 2 10
후위표기법 구글링하다가 123+을 중위표기법으로 바꾸면 12+3일지 1+23일지 단순궁금해서 물어봤어!!
응 스택에는 숫자가 구분되서 들어가니까 ㄱㅊ을거같아
아하 123+가 애초에 스택에 어떻게 들어있는지가 중요한거야
굿
ㄱㅅㄱㅅㄱㅅ