[프로그래머스/JS] 비밀지도
문제링크 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 배운점 숫자 | 숫자 연산 자바스크립트에서 다음과 같이 숫자 | 숫자 연산을 하면 2진법으로 or 연산을 사용한 값이 리턴된다. console.log(10|1) // 11 console.log(11|1) // 11 자바스크립트에서 진법 변환 또 정말 편리하다 라고 생각 된 것이 다음과 같이 숫자에 toString(원하는 진수) 를 하면 해당 진법으로 변환한다는 것이다. console.log((8).toString(2)) // 1000 consol..
[프로그래머스/JS] 최소직사각형
문제링크 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 문제풀이 다음 문제에서 최소 직사각형을 만들기 위해서는 1. 큰수를 모으는 배열을 만든다. 2. 작은 수를 모으는 배열을 만든다. 3. 두 배열에서 최댓값을 선택하여 곱한다. function solution(sizes) { var answer = 0; let big = [] let small = [] sizes.map(el=>{ let [a,b] = el if (a>b) { big.push(a) small.push(b) } else { big.push(b)..
[프로그래머스/JS] 1차 다트게임
문제링크 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 배운점 dd[i] 는 '0' 문자 인데, 자바스크립트에서는 숫자와 비교연산을 할때 자동으로 형변환이 된다. if(dd[i]>=0 && dd[i]
[프로그래머스/JS] 나머지가 1이 되는 수 찾기
문제링크 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 문제풀이 function solution(n) { let i = 2 while(true){ if (n%i==1) break i++ } return i; }
자바스크립트 splice , reverse , flat
splice 참고자료 JavaScript - 배열 splice() 사용법 및 예제 구문 자바스크립트의 splice 함수는 원본 배열에 새로운 요소를 추가하거나 기존요소를 삭제 또는 교체하여 원본 배열을 변경 하고 제거된 배열을 반환합니다. array.splice(start[, deleteCount[, item1[, ite tocomo.tistory.com 위 자료를 보고 공부한 글 입니다. Splice 1. 요소를 제거하지 않고 2번 index에 '아무무', '알리스타' 추가 splice의 파라미터는 (타겟 index, 제거할 요소 수, 추가할 요소) 로 구성된다. 다음예제는 index 2 부터 시작되는데 요소가 추가되면 해당 index 요소를 밀어내고 추가되는 요소가 들어간다. const LOL = [..
[프로그래머스/JS] 문자열 내 마음대로 정렬하기
문제링크 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 배운점 특정 문자를 기준으로 sort가 가능하다는 것을 배웠다. strings.sort((a,b)=>{ if(a[n]>b[n]) return 1 else if(a[n]{ if(a[n]>b[n]) return 1 else if(a[n]{ if(a[n]>b[n]){ return 1 } else if(b[n]>a[n]){ return -1 } else if(a[n]==b[n]){ if(a>b..
[프로그래머스/JS] 문자열 다루기 기본
문제링크 문제풀이 function solution(s) { let num = '1234567890' var answer = true; for (let i=0; i
[프로그래머스/JS] 소수 찾기
문제링크 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 배운점 && 문제 풀이 에라토스테네스의 체를 다시한번 상기시켰다. function solution(n) { var answer = 0; let arr = new Array(n + 1).fill(true); for (let i = 2; i
[프로그래머스/JS] 시저 암호
문제 링크 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 배운점 자바스크립트에서 아스키코드 값을 알아내기 위해서는 charCodeAt 메소드를 사용한다. s="AB" s.charCodeAt(i) 그렇다면 아스키코드 값을 문자열로 변경할때는 어떻게 할까? 다음과 같이 fromCharCode 메소드를 사용한다. String.fromCharCode(아스키코드 변수) 자바스크립트에서 문자열에 인덱스를 주어 접근할 수 있다는 것을 다시한번 상기시켰다. let str = "STRING" c..
[프로그래머스/JS] 이상한 문자 만들기
문제링크 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 배운점 소문자 -> 대문자 element.toUpperCase() 대문자 -> 소문자 element.toLowerCase() 문제풀이 function solution(s) { var answer = ''; let ans = s.split(" ") console.log(ans) ans.map((el)=>{ el.split("").map((element,idx)=>{ if(idx%2==0){ answer+=element.toUpperCase()..