코딩테스트/JavaScript

🙌문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. ☑️나의 풀이 reverse 메서드 반복문 대신 map 메서드 function solution(n) { return n.toString().split('').reverse().map(Number); } ☑️배운 점 n.toString().split('') (n+'').split(') 같다
🙌문제설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. ☑️나의 풀이 function solution(x, n) { var ans = []; for(let i=0; i (i + 1) * v) } ☑️배운 점 Array.fill 배열의 인덱스 범위 내에 있는 모든 요소를 정적 값으로 변경 인자가 없으면 undefine Array.prototype.fill() - JavaScript | MDN Array 인스턴스의 fill() 메서드는 배열의 인덱스 범위 내에 있는 모든 요소를 정적 값으로 변경합니다. 그리고 수정된 배열을 반환합니다. de..
🙌문제설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요 ☑️나의 풀이 처음에 Queue를 이용해서 풀어야하나 했다. true, false만 추리면 되니까 cnt 를 사용하였다. function solution(s){ let cnt = 0; for(let i=0; i
🙌문제설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. ☑️나의 풀이 function solution(n){ let sum=0; var arr = String(n).split(""); for(let i=0; i acc + parseInt(curr), 0) }
🙌문제설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가..
🙌문제설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. ☑️나의 풀이 개수는 대소문자 구별 없는데, 문제에는 구별을 해주어서, 소문자로 통일하는 메서드 toLowerCase() 사용 문자열 "p", "y" 부분 삭제되고 남은 문자열이 배열로 반환. length로 길이 구별. 길이가 다르면 false 반환, 그외에는 true 반환 fu..
🙌문제설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. ☑️나의 풀이 약수는 나누어서 0이되는 값 → for문으로 값을 하나씩 확인함 function solution(n) { var sum=0; for(let i=0; i
🙌문제설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. ☑️나의 풀이 function solution(n) { var x = 0; for(var x=0; x
🙌문제설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. ☑️나의 풀이 for문에 배열로 돌리면 풀리지만, 분명 메서드 함수가 있을 것 같다고 생각했다! function solution(arr) { return arr.reduce((sum, cur)=>sum+cur)/arr.length; } ☑️배운 점 reduce 메서드 배열의 내장함수(메서드) 중 하나로 누적값을 계산하는데 사용한다. 배열 형태를 순회하면서 단 하나에 값(합, 차, 곱 등)을 반환하는 일이 필요할때 리듀스를 사용한다. 배열의 누적 합 구할때 const arr = [1,2,3,4,5]; const initVal = 0; const average = arr.reduce((acc, cur)..
닷다라다나닷
'코딩테스트/JavaScript' 카테고리의 글 목록 (5 Page)