TIL_250312

듀듀·2025년 3월 12일

spring_TIL

목록 보기
19/53

전위 / 중위 / 후위

중위 → 전위/후위 는 스택에 연산자 쌓기

전위 → 후위 , 후위 → 전위는 스택에 피연산자 쌓기

중위 → 전위

1+2*3+1+2/2

  1. 연산자 우선순위에 맞게 괄호 치기

((1+(2*3))+(1+(2/2)))

  1. 이 괄호 안에 있는 연산자들을 앞으로 뺀다

+((+1*(23))(+1/(22)))

  1. 괄호 없애기

++1*23+1/22


중위 → 후위

전위 바꾸는 것과 똑같이 하되 연산자를 뒤로 빼기

<스택 사용하는 방법>

  1. 숫자가 나오면 그대로 출력
  2. 연산자가 나오면 스택에 넣기
  • 현재 연산자가 스택의 top보다 낮거나 같은 우선순위일 때 pop
  • 현재 연산자가 스택의 top보다 높으면 pop하지 않고 push
  1. ( 괄호는 그냥 넣기, )괄호 만나면 그 사이에 있는 연산자들 pop

전위 → 후위

  1. 오른쪽 → 왼쪽으로 읽는다. (후위로 가는거니깐 거꾸로)
  2. 피연산자(숫자)는 스택에 push
  3. 연산자를 만나면 스택에서 2개를 꺼내 후위식으로 변환 후 스택에 push

후위 → 전위

  1. 왼쪽 → 오른쪽으로 읽는다. (전위로 가는거니깐 제대로)
  2. 피연산자(숫자)는 스택에 push
  3. 연산자를 만나면 스택에서 2개를 꺼내 전위식으로 변환 후 스택에 push


블록체인

P2P방식을 기반으로 하여 소규모 데이터들이 사슬 형태로 무수히 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술

  • 모든 거래 내역 기록 → 임의로 수정x 누락x
  • 기존에 전자화폐로 거래할 때 중앙 서버에 거래 기록을 보관하는 것과 달리 블록체인은 모든 사용자에게 기록을 보여주며 서로 비교해 위조를 막는다
  • 비트코인에서 사용
  • 중앙 서버를 거치지 않고 금융 이용자끼리 직접 거래할 수 있게 만든다


세마포어 / 뮤텍스

세마포어: 공유된 자원의 데이터 혹은 임계영역 등에 여러 프로세스 혹은 스레드가 접근하는 것을 막아줌 (즉, 동기화 대상이 하나 이상)

뮤텍스: 공유된 자원의 데이터 혹은 임계역역등에 하나의 프로세스 혹은 스레드가 접근하는 것을 막아줌 (즉, 동기화 대상이 하나)



값에 의한 호출 / 참조에 의한 호출

  • Call by Value (값에 의한 호출): 인자로 넘겨진 값이 변경되어도 그 함수에서만 변경된다

  • Call by Reference (참조에 의한 호출): 함수를 넘겨줄 때 메모리의 주소로 넘겨준다. 즉 참조(*)의 형태 혹은 역참조(&)의 형태로 넘겨준다
    → 메모리에 직접 함수가 접근하기에 메모리의 값을 변경하면 함수 밖의 영역에도 영향을 준다



원래는 기출 돌리기 급급했는데 오늘부터는 한 문제 한 문제 씹고 뜯고 맛보고 즐기고 넘어가기로 했다.. 추후에 있을 면접을 대비해...^^ (레전드 김칫국)

0개의 댓글