문제설명 입력 & 출력 나의 풀이 const N = require('fs').readFileSync('/dev/stdin').toString().trim().split('').map(Number); 먼저 입력값을 받을 때 위 코드처럼 숫자로 변환한다는 생각만 해서 map(Number) 코드의 실질적인 의미인 입력값을 숫자 배열로 변환한다는 생각을 하지 못했습니다.. 그래서 이상하게 별이 나와서 틀릴게 없는데 하고 N을 확인해 보니 배열이어서 답이 틀린 것이었습니다. 코드 설명을 하자면 증감하는 for문 1개와 감소하는 for문 1개 총 2개의 for문을 사용해야 합니다. 각 for문에서 repeat() 메서드를 사용하여 문자를 반복해줘야 하는데 왼쪽 그림을 보면 공백이 있습니다. 그렇기 때문에 공백 + ..
문제설명 입력 & 출력 나의 풀이 먼저 상근이는 전화번호를 문자로 외우기 때문에 split()로 분리하여 str에 받아줍니다. 그리고 각 다이얼에 매칭하는 알파벳을 배열형태로 arr에 저장해 주었습니다. 그리고 이중 for문을 사용합니다. 왜냐하면 각 i로 배열의 요소를 모두 접근해야 하고, j에서 입력받은 str문자열을 하나씩 접근해야 하기 때문입니다. 다이얼 1번 ➡ 2초 다이얼 2번 ➡ 3초 다이얼 3번 ➡ 4초... 문제의 설명처럼 전화를 걸기 위한 시간은 위와 같습니다. 다이얼 2번 (Index:0) ➡ 3초 다이얼 3번 (Index:1) ➡ 4초 다이얼 4번 (Index:2) ➡ 5초 그러나 배열의 첫 번째 요소는 0이기 때문에 위와 같이 index + 3이라는 공식이 성립됩니다. 즉 +1을 ..
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', ..
웹 서비스에는 크게 2가지의 개념이 있습니다. 첫 번째 client와 두번 째 Server인데 간단히 설명하자면 client는 '서비스 요청자' server는 '서비스 제공자'라고 얘기할 수 있습니다. 위 그림을보면 클라이언트가 서버에 서비스를 요청(request,req)하고 서버는 요청의 내용을 읽고 처리한 뒤 서비스를 클라이언트에 응답(response, res)하는 관계에 대해서 이해하실 수 있을 겁니다. 그렇기 때문에 서버에는 요청을 받는 부분과 요청을 보내는 부분이 존재해야 합니다. Rest란 ❓ 위 서버-클라이언트에서 보았듯이 클라이언트가 서버에 요청을 보내는데 요청을 보낼 때 주소를 통해 요청의 내용을 표현합니다. 만약 주소가 /today.html 이면 today.html 파일을 보내달라는 뜻..