스택구조5 스택구조_미로 찾기 [1/3] 이번 과제는 미로 찾기입니다. 두 달 가까이 열심히 공부했더니 이제 이정도는 꽤 순조롭게 짤 수 있게 됐네요. 왕기초 과제이지만 왕초보인 저는 아직은 이정도만해도 뿌듯.. 뭔가 애니메이션같이 진행되는 모습을 보고 싶은데 방법이 없나 내일 한 번 찾아봐야겠어요. 과정마다 하나씩 프린트할 수는 있지만 영 맘에 들진 않네요..ㅎㅎ 해당 과제는 유투브 '권오흠'님의 자료구조 강의를 참조하였습니다. [ main() ] 사실 이번 건 코딩보다 미로 그리는게 더 어려웠던 것 같음.. 미로크기는 언제든 변경할 수 있게 매크로를 사용 배열 내용이 낭비없는 구성이라 포인터 변수 배열 대신 일반 배열을 사용함 이동할 수 있는 최대값인 MAX는 ROW * ROW * 2 로 설정 #include #include #define .. ▸C언어/알고리즘 및 자료구조 2019. 12. 9. 스택구조_후위표기식_수식 계산하기(수정/기능추가) [3/3] 강의는 저랑 완전 다른 방식으로 풀어내네요. 여러가지 방면에서 다르지만 가장 큰 차이점은 괄호도 연산자와 마찬가지로 취급하여 처리한다는 점입니다. 그 외에는 함수를 어떤 방식으로 구성해서 사용했는가 정도의 차이 같습니다. 강의에는 나오지 않았지만 굳이 후위표현식으로 변환하지 않고 연산자가 나오면 바로바로 계산해도 될 것 같습니다. 강의에서 진행한 방식과 제 방식을 섞어서 다시 최종 버전을 만들어봤습니다. 그리고 다시 하는김에 조금 더 완벽하게 만들어보기 위해 이것저것 기능을 더 추가해봤습니다. 강의에 풀이가 없는 기능들이라.. 얼마나 잘 짰는지는 알 수가 없네요. 일단 기능은 다 잘 됩니다. ㅎㅎ 대략 아래와 같은 방식입니다. [수정사항] 괄호와 연산자를 하나의 스택(배열)을 사용해서 연산 순서 .. ▸C언어/알고리즘 및 자료구조 2019. 12. 9. 스택구조_후위표기식_수식 계산하기(괄호 포함 수식) [2/3] 괄호를 어떻게 해결할지 한참 고민했네요. "괄호가 시작되면 별도의 수식으로 생각한다." 라는 점을 두고 한참 고민하다 답을 찾긴 했습니다. 맞는진 모르겠지만..ㅎㅎ 기본 개념도는 아래와 같습니다. 괄호가 시작될 때마다 새로운 배열로 만들어주고, 괄호가 닫히면 괄호안의 값을 계산해서 앞 수식의 뒤에 붙여주는 방식으로 괄호가 없는 최종 수식을 만들어내면 되네요. 괄호만 잘 골라내주면 어제 만든 계산 수식을 이용해 간단히 짤 수 있었습니다. [ main() ] 수식이 길어져서 소스파일을 나눔 #include "Header.h" int main() { /* 중위표기식 원본 문자열*/ char form[] = "10+21*(2*(15-10)/2)-3"; int result = calculation_all(fo.. ▸C언어/알고리즘 및 자료구조 2019. 12. 9. 스택구조_후위표기식_수식 계산하기(괄호 없는 수식) [1/3] [구현 목표] 수식 내 우선순위에 따른 계산 결과 도출 ex) "2 + ((35+65) / 25) * 7" 과 같은 형태의 수식 계산 (엑셀과 비슷) 강의 보기 전에 미리 해보고 있는데 생각보다 엄청 복잡하네요.. 공부 하면서 가장 많이 느끼는 점은 간단해보이는 프로그램들이 실제로는 간단하지 않다는거.. 존경해요 MS.. 괄호까지 한번에 해결하려고 했는데 제 머리로는 답이 안나오네요. 일단 괄호가 없는 식을 계산하는 함수를 만들고, 괄호가 나오면 함수를 통해 괄호가 없는 것처럼 따로따로 계산하는 방식을 사용하기로 했습니다. [ main() ] 입력받을 수식을 저장하는 공간, 후위표기식으로 변환 저장할 공간, 결과값 공간 생성 #include #include #include void postfix(ch.. ▸C언어/알고리즘 및 자료구조 2019. 12. 9. 스택구조_괄호 수식 검증 [1/1] 해당 과제는 유투브 '권오흠'님의 자료구조 강의를 참조하였습니다. 닫힌 괄호는 가장 마지막에 나온 열린 괄호와 같은 유형이어야 한다라는 점만 유의하면 간단하게 작성할 수 있습니다. 어차피 스택과 같은 후입선출 개념을 사용할 수밖에 없습니다. 열린 괄호가 나오면 해당 유형 번호를 배열에 순서대로 저장 닫힌 괄호가 나오면 가장 마지막에 나온 열린 괄호와 유형이 같은지 확인 후, 해당 배열값을 제거 해당 순서의 열린괄호와 다른 유형의 닫힌 괄호가 나오면 에러값 반환 짝이 맞지 않아 배열의 값이 남거나 또는 모자랄 경우 에러값 반환 실제 엑셀과 같은 괄호 계산 식의 구현은 다음글들을 참조하시면 됩니다. 2019/12/09 - [C언어/알고리즘 및 자료구조] - 스택구조_후위표기식_수식 계산하기(괄호 없는 수식).. ▸C언어/알고리즘 및 자료구조 2019. 12. 9. 이전 1 다음 💲 추천 글 반응형