자바스크립트 3

[코딩테스트 기초] 회문문자열 판별(재귀함수, array splice을 이용하여 - javascript)

회문문자열(palindrome)은 거꾸로 읽어도 알파벳이 똑같은 글자를 말한다. 알고리즘의 가장 기초적인 문제로 자주 등장하는데, 자바스크립트에서는 reverse 메소드를 이용하여 많이 푼다. 여기에서는 재귀함수와 splice 메소드를 이용하여 풀어보겠다. 먼저 args로 넘어온 문자를 split을 이용해 Array로 만들어주고, 재귀함수(recursive)로 돌린다. 재귀함수를 사용할 때는 무조건 if/else 구문으로 조건을 만들 것. 특정 조건을 통과하면 true을 리턴, 아니면 false을 리턴하면 된다. 여기서 특정 조건은 두 개가 되는데,하나는 배열의 길이가 1 이하일 때.글자가 1글자면 무조건 회문문자열이 된다. ex) 'a', 'i', 'x', ... 나머지 하나는? "첫번째 글자와 마지막..

코딩테스트 2022.02.20

[코딩테스트 기본] 10진수를 2진수로 바꾸기 (Javascript)

사실 자바스크립트에서는 Object.prototype.toString() 이라는 Web API로 진수 변환을 바로 할 수 있다. toString의 인자로 radix(기수)을 넣으면 바로 변환을 해준다. (2~36까지만) 그래서 3을 2진수로 바꾸고 싶으면 아래와 같이 하면 된다. let n = 3; let res = n.toString(2); console.log(res); 위 결과는 '11'이 될 것이다. 그러나 개발자라면 웹 API를 이용하지 않고 그냥 만들 수 있어야 한다. 코드로 구현하기 전에 수학(!!)으로 10진수를 2진수로 바꿔보자. 10진수로 된 정수 a를 2진수로 바꾼다고 하면 a를 2로 나눈 나머지와 몫을 다시 2로 나눈 나머지, 몫을 다시 2로 나눈 나머지,, 이렇게 몫을 더이상 2로..

코딩테스트 2022.02.20

[코딩테스트] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기(Javascript)

문제 보러 가기: https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr function solution(id_list, report, k) { var answer = Array.from({length: id_list.length}, ()=>0); var report_map = new Map(); // 신고 명단 id_list.forEach((id)=>{ report_map.set(id, []); // 신고 ..

코딩테스트 2022.02.06