문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 문제 풀이 방법 우선 이 문제에서는 중복되는 수를 없애기 위해 Set()을 사용했다. 이중 for()문을 사용해 반복하며 numbers의 값들을 더해준다. 하지만 중복 인덱스 값은 더하지 않으므로 if문에 조건을 더해준다. 답 제출은 배열로 해야하므로 Set을 펼침 연산자로 배열에 넣어준다. 마지막으로 sort로 오름차순으로 나열해주고 답 제출을 하면 된다. 코드 ..
취준생
연산자 우선순위 연산자 우선순위 표현식에 연산자가 여러 개 있을 경우 처리되는 규칙 우선 기본적인 우선순위 부터 알아보자 = 연산자 > && , || > ? : 이때, &&는 항상 || 보다 먼저 평가된다. 1) 단락 평가 &&, || 연산자는 좌측 피연산자의 평가 결과만으로 전체 결과가 이미 결정될 경우 우측 피연산자의 평가를 건너뛴다. 그래서 단락이라는 말이 유래되어 단락 평가 특성을 갖는다. const doSomething = (opts) => { if(opts && opts.cool){ ... } } 위의 코드에서 opts가 유효하지 않으면 opts.cool의 평가를 자동으로 건너뛴다. 이로써 불필요한 작업이 줄어들게 된다. 2) 끈끈한 우정 이번에는 삼항 연산자 ?와 : 를 이용해 연산자의 우선..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다. 문제 풀이 방법 우선 받은 수를 n.toString(3)을 사용해 3진법으로 바꿔준다. 3진법으로 바꾼뒤 배열에 펼침연산자를 이용해 넣어주고 reverse()로 뒤집은 다음 join('')으로 합쳐준다. 이러면 3진법으로 바뀐뒤 뒤집힌 문자열이 나오는데, 이를 정수형으로 바꿔주면 된다. parseInt(바꿔줄 수, 바꿀 수의 진수형태) 코드 function solution(n) { let arr = [...n.toString(3)] const tNum = arr..
시작에 앞서 몇가지 정의에 대해 설명해 보자. 백앤드 데이터 등록과 조회의 방법과 구성에 관한 로직을 만드는 것 Node.js 자바스크립트 엔진 기반으로 웹 브라우저 뿐만 아니라 서버에서도 자바스크립트를 사용할 수 있는 런타임 Koa Node.js 환경에서 웹 서버를 구축할 때 사용하는 웹 프레임 워크중 하나이며, Express의 개발팀이 개발한 프레임워크이다. Koa는 미들웨어 기능만 갖추고 있으며 나머지는 다른 라이브러리를 적용해서 사용하므로 필요한 기능만 이용해 서버를 만들 수 있어 Express보다 가볍다. 또한, async/await 문법을 정식으로 지원하기에 비동기 작업을 쉽게 관리할 수 있다. 작업 환경 준비 1. Node 설치 확인 node --version 2. 프로젝트 생성 순서는 디렉..
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한 사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 문제 풀이 방법 reduce() 메서드 내부에 if else 문을 이용해 signs[index] 를 확인하고 덧샘 뺄샘을 했다. 그러나...
문과 표현식 자바스크립트에서 문과 표현식은 중요한 차이가 있다. var a = 3 * 6; var b = a; b; 3 * 6은 표현식이다. 두번째 줄과 세번째 줄 또한 표현식이다. var a = 3 * 6, var b = a 두 문은 각각 변수를 선언 하므로 선언문 이라 한다. a = 3 * 6 이나 b = a는 할당 표현식 이라 한다. 세번째 줄은 표현식의 전부이지만 이것만으로 완벽한 문이다. 일반적으로 이 문은 표현식 문이라 한다. 1 - 문의 완료 값 모든 문은 완료 값을 갖는다. 심지어 undefined값을 갖을 수 있어도 갖는다. var문의 완료값은 undefined이다. 실제로 var a = 42를 콘솔창에 실행시켜 보면 42 대신 undefined가 나온다. 이는 콘솔이 실행한 문의 완료 ..