본문 바로가기

배열3

[DFS] DFS에서 x,y 좌표를 뒤집는(바꾸는) 이유 - DFS 문제를 풀다보면 입력은 x,y 로 받는데, 노드 입력은 [y][x] 로 한다. - 이해가 안가서 [x][y] 로 바꾸면 error를 뿜고, 구글링으로 찾아봐도 제대로 설명없이 그냥 DFS는 그렇더라~ 라는 해설들 뿐이다. - 다행히 어떤 분께서 지나가시듯 설명한 것을 보고 명확히 이해하게 되었다. 감사합니다! DFS에서 x,y 를 뒤집어 인자로 받는 이유? => 배열의 경우 x좌표를 up to down, y좌표를 left to right 방향으로 넣었다. => 좌표에선 x좌표가 left to right, y좌표가 down to up 방향으로 들어간다. => 배열이 우하향으로 index가 커지듯, 좌표는 우상향으로 index가 증가하기에 좌표를 배열처럼 생각하여 '어? 위로 가니까 부호가 반대로.. 2022. 7. 5.
[Data Structure] 자료구조 - 현실을 프로그래밍으로 표현하는 것 - 집을 짓는데 필요한 건축자재. (모래, 시멘트, 벽돌 등) => 건축 자재(자료구조)로 건축하는 과정 == Algorithm(알고리즘) - big size data를 효율적으로 관리 1. 배열 (Array) - 여러 data를 하나의 이름으로 grouping하여 관리하기 위한 data structure - 관리할 data가 많아졌을 때 사용 (data가 2개인데 배열을 쓴다...?) - data를 넣는대로 index를 부여 - array는 크기가 정해져 있으며, array 요소의 index는 변화하지 않는다.(ex. 젠가 - 중간에 뭐가 빠져도 나머지는 그대로) 2. 리스트 (List) - 배열의 고정된 index가 아닌, 빠진 부분을 빈틈없이 data를 메우는 .. 2022. 6. 7.
[JavaScript 프로젝트 : 공학용 계산기] 중복 연산자 제거 계산기에서 숫자없이 연산자를 연속으로 입력할 경우, 마지막에 입력한 연산자만이 기능한다. 그 기능을 넣고자 한다 let form = '2+*+/3'; let operator = ['+', '-', '*', '/']; let replacedForm = ""; console.log(form.charAt(0)); // 연산자 단일 기능 for(let i=0; i>> stack 순서로 행한다. arr 저장 : 2 stack 저장 : + 숫자가 넘어오면 다시 push 반복 arr 저장 : 1 stack 저장 : ) 문자열의 마지막을 확인하고 logic 마무리 ==> FEEDBACK 위 2번 논리대로 코드를 구현하려고 하였으나 굳이 배열을 사용할 필요없음을 알았다. 원본 문자열의 요소를 반복문으로 하나씩 논리 전개.. 2022. 1. 19.