JS

·자료구조
스택이란 ❓ 스택은 우리 실생활 속에서도 많이 사용되는 자료구조 중 하나입니다.  예를 들면 웹 브라우저에서의 뒤로 가기, Ctrl+Z (Undo) 등 다양하게 쓰입니다. 스택은  "쌓다"라는 의미를 가집니다. 사전적 의미에서 알 수 있듯이 하나의 입구를 통해 push 하거나 pop 할 수 있습니다. [그림 Stack]에서 볼 수 있듯이 메모리 stack 영역 맨 위에 데이터를 추가하는 것을 'push'라고 하고, 반대로 맨 위의 데이터를 하나씩 제거하는 것을 'pop'이라고 합니다. 즉 하나의 스택에 데이터를 계속 쌓는 형태이고, 가장 마지막 데이터가 먼저 나오는 Last-in First-Out(LIFO) 형태를 가지고 있습니다. 스택은 서로 관계가 있는 여러작업들을 연달아 수행하며 이전의 작업내용을 ..
·Coding Test/백준
문제설명 입력 & 출력 나의 풀이 문제 자체는 어렵지 않았습니다. 입력된 단어를 크로아티아 단어로 변경하는 문제입니다. 크로아티아 언어로 변경되지 않은 언어는 그대로 남아있어야 합니다. 먼저 크로아티어 언어를 저장한 croatia배열을 만들어줍니다. 그리고 for of문을 사용하여 croatia 요소를 순환해 줍니다. 그리고 입력받은 word를 변경해서 바꿔야 하기 때문에 계속해서 사용해줘야 합니다. 처음에는 croatia를 순회하면서 해당하는 문자열을 치환해 주면 된다고 생각해서 replace() 메서드를 사용했습니다. 그러나 replace() 메서드는 첫 번째로 찾은 문자열만 치환해 주기 때문에 replaceAll() 메서드를 사용해 주었습니다. 왼쪽 그림과 같이 첫 번째 문자열만 치환을 하고 두 번..
JavaScript 에서 HashTable은 대표적으로 객체(Object), Map, Set이 있습니다. 그런데 코드를 짜다보면 Key-Value 형태로 이루어진 자료구조는 객체(Object)가 대표적이었지만, ES6에 들어서서는 Map과 Set이 추가되었습니다. Map 객체 Map 객체는 Key-Value 쌍과 Key의 원래 삽입 순서를 기억합니다. 모든 값은 키 또는 값으로 사용될 수 있습니다. JavaScript에서의 Map은 java의 HashMap, python의 Dictionary와 같은 자료구조입니다. Map 생성 let map = new Map(); 위와 같이 생성자를 통해서 Map객체를 생성할 수 있습니다. Map 크기 const map1 = new Map(); map1.set('a', ..
·Coding Test/백준
문제설명 입력 & 출력 예제 출력 1 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 나의 풀이 a~z까지 알파벳 배열을 Array.from과 fromCharCode() 함수를 사용해서 만들어줍니다. 왼쪽 아스키코드표를 보면 97번 소문자 a를 시작으로 122번 소문자 z까지 나와있습니다. 이를 참고해서 우리가 원하는 알파벳은 소문자 a~z기 때문에 시작점에 97을 더해서 해당하는 문자를 생성합니다. 그러면 알파벳 배열이 다음과 같이 만들어지게 됩니다. ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't..
지누박
'JS' 태그의 글 목록