프로그래머스 코딩테스트

프로그래머스 코딩테스트

[프로그래머스] 영어가 싫어요 - 자바스크립트

문제 설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. 제한사항 numbers는 소문자로만 구성되어 있습니다. numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다. 1 ≤ numbers의 길이 ≤ 50 "zero"는 numbers의 맨 앞에 올 수 없습니다. 풀이 const solution = (numbers) => +numbers .replace(/(zero)/g, '0') .replace(/(one)/g,..

프로그래머스 코딩테스트

[프로그래머스] 대문자와 소문자 - 자바스크립트

문제 설명 문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000 my_string은 영어 대문자와 소문자로만 구성되어 있습니다. 풀이 const solution = (my_string) => [...my_string] .map(el => el.match(/[A-Z]/g) ? el.toLowerCase() : el.toUpperCase()) .join(""); 주어진 문자열 my_string를 전개연산자를 이용해 각 글자의 배열로 변경 (my_string.split("")과 동일) 생성된 배열을 map() 매서드를 이용해 대소문자가 변경된 배열을 반..

프로그래머스 코딩테스트

[프로그래머스] 개미 군단 - 자바스크립트

문제 설명 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. 제한사항 hp는 자연수입니다. 0 ≤ hp ≤ 1000 풀이 순차적으로 높은 숫자부터 뺄 수 있는 만큼 빼고, 다음으로 넘기는식으로 반복하면..

프로그래머스 코딩테스트

[프로그래머스] 문자 반복 출력하기 - 자바스크립트

문제 설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ my_string 길이 ≤ 5 2 ≤ n ≤ 10 "my_string"은 영어 대소문자로 이루어져 있습니다. 풀이 다양한 방법이 있겠지만 가장 먼저 떠오른 방법은 map() 매서드와 repeat() 매서드를 사용하는 방법인거 같다. const solution = (my_string, n) => my_string.split("").map(el => el.repeat(n)).join(""); repeat() String.repeat(n) 의 형태로 사용 할 수 있다 (문자열) "★".repeat(2)를 ..

프로그래머스 코딩테스트

[프로그래머스] 암호 해독 - 자바스크립트

문제 설명 군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다. 암호화된 문자열 cipher를 주고받습니다. 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다. 문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ cipher의 길이 ≤ 1,000 1 ≤ code ≤ cipher의 길이 cipher는 소문자와 공백으로만 구성되어 있습니다. 공백도 하나의 문자로 취급합니다. 풀이 const solution = (cipher, code) => [...cipher] .filter((el, idx) => (idx + 1)%code === 0) .join(""); 1. ..

프로그래머스 코딩테스트

[프로그래머스] 369게임 - 자바스크립트

문제 설명 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ order ≤ 1,000,000 풀이 const solution = (order) => [...String(order)] .filter(el => el.includes("3") || el.includes("6") || el.includes("9")) .length; 1. 숫자로 주어진 order를 String()으로 문자열로 변경 후, 전개연산자를 이용하여 ..

프로그래머스 코딩테스트

[프로그래머스] 가까운 수 - 자바스크립트

문제 설명 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ array의 원소 ≤ 100 1 ≤ n ≤ 100 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다. 풀이 map() 과 sort()를 사용해서 풀었다. const solution = (array, n) => array[array .map((el, idx) => [Math.abs(el - n), idx]) .sort((a,b) => { if(a[0] === b[0]){ return array[a[1]] - array[b[1]] }else{ return a[0]..

프로그래머스 코딩테스트

[프로그래머스] 중복된 문자 제거 - 자바스크립트

문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string ≤ 110 my_string은 대문자, 소문자, 공백으로 구성되어 있습니다. 대문자와 소문자를 구분합니다. 공백(" ")도 하나의 문자로 구분합니다. 중복된 문자 중 가장 앞에 있는 문자를 남깁니다. 풀이 split() 혹은 Spread Operator (전개 연산자), 그리고 filter()와 join()을 사용하면 될것 같다. const solution = (my_string) => [...my_string].filter((el, idx, arr) => idx === arr.ind..

프로그래머스 코딩테스트

[프로그래머스] 컨트롤 제트 - 자바스크립트

문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ s의 길이 ≤ 200 -1,000 < s의 원소 중 숫자 < 1,000 s는 숫자, "Z", 공백으로 이루어져 있습니다. s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다. 연속된 공백은 주어지지 않습니다. 0을 제외하고는 0으로 시작하는 숫자는 없습니다. s는 "Z"로 시작하지 않습니다. s의 시작과 끝에는 공백이 없습니다. "Z"가 연속해서 나오는 경우는 없습니다. 풀이 보자..

프로그래머스 코딩테스트

[프로그래머스] 자릿수 더하기 - 자바스크립트

문제 설명 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 제한사항 0 ≤ n ≤ 1,000,000 풀이 각 자릿수마다 더해주면 된다. for문을 쓸 수도 있고 reduce()를 사용할 수도 있다. //for문 사용 시 const solution = (n) => { let acc = 0; for(let i = 0; i String(n).split("").reduce((acc,cur) => acc += +cur, 0);

프로그래머스 코딩테스트

[프로그래머스] 배열 두배 만들기 - 자바스크립트

문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 -10,000 ≤ numbers의 원소 ≤ 10,000 1 ≤ numbers의 길이 ≤ 1,000 풀이 이 문제도 저번 문제랑 비슷하게 map() 매서드에 대해 알고 있습니까? 라고 물어보고 있다. const solution = (numbers) => numbers.map(el => el*2); Array.map() 주어진 배열에 대해서 각 원소마다 특정 함수를 실행한 새로운 배열을 리턴해주는 매서드 예를들어, [1,2,3,4,5]에 뒤에 ★이 하나씩 붙은 배열을 리턴하고 싶다면 [1,2,3,4,5].map(el => el + ..

프로그래머스 코딩테스트

[프로그래머스] 문자열 정렬하기 (1), 숨어있는 숫자의 덧셈 (1), 소인수분해 - 자바스크립트

문자열 정렬하기 (1) 문제 설명 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 my_string에는 숫자가 한 개 이상 포함되어 있습니다. my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. 풀이 const solution = (my_string) => my_string.replace(/[^0-9]/g, "") .split("") .map(el => +el) .sort((a, b) => a - b); 간단한 정규식 /[^0-9]/g 정도는 외워두는게 정신건강에 이롭다. 생각보다 사용할일이 많기 때문..

프로그래머스 코딩테스트

[프로그래머스] 입문 문제 4종

풀이가 너무 짧거나 간단한 문제 4가지를 그냥 합쳐서 포스팅. 배열 회전시키기 문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요 제한사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left" 와 "right" 둘 중 하나입니다. 풀이 right의 경우 Array에서 사용할 수 있는 unshift()와 at() 매서드를 사용한다. at(index) 매서드는 배열에서 주어진 index의 원소를 표현해주는데, -1을 넣으면 마지막 원소를 구해준다. unshift() 매서느는 배열의 맨 앞에 주어진 원소를 추가해준다. 즉..

프로그래머스 코딩테스트

[프로그래머스] 2차원으로 만들기

문제 설명 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]] 제한사항 num_list의 길이는 n의 배 수개입니다. 0 ≤ num_list의 길이 ≤ 150 2 ≤ n < num_list의 길이..

프로그래머스 코딩테스트

[프로그래머스] 등수 매기기

문제 설명 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ score[0], score[1] ≤ 100 1 ≤ score의 길이 ≤ 10 score의 원소 길이는 2입니다. score는 중복된 원소를 갖지 않습니다. 풀이 주어진 이차원 배열에서, 평균값을 계산한 배열을 만든 뒤, 해당 배열에서 각 원소마다 자기 자신보다 높은 원소들의 갯수의 길이를 리턴해주면 될 것 같다. const solution = (score) => score .map(([eng, math],..

프로그래머스 코딩테스트

[프로그래머스] 저주의 숫자 3

문제설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 풀이 하나씩 올려가면서, 3이라는 문자가 포함되거나, 3의 배수인 경우 1을 더해주는 방식으로 하면 될 것 같다. 그러니까 1 - 2 - 4(3 + 1) - 5 - 7(6 + 1) - 8 - 10(9+1) - 11 - 14(13+1 - 12+1) - 15 - ... 여기서 1이 올라간 숫자에 3이 포함되거나 3의 배수인 경우까지 생각했을땐, while 문으로 해당 조건에 부합하지 않을때까지 +1..

프로그래머스 코딩테스트

[프로그래머스] 폰켓몬

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..

프로그래머스 코딩테스트

[프로그래머스] 머쓱이보다 키 큰 사람

문제설명머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 2001 ≤ array의 원소 ≤ 200 풀이약간 문제가.. 너 filter() 매서드 알고있어? 라고 물어보고 있다. filter() 매서드를 이용해서, 각 배열의 원소와 주어진 height를 비교해 더 클경우만 리턴후 lenght를 반환해주자. const solution = (array, height) => array.filter(el => el > height..

프로그래머스 코딩테스트

[프로그래머스] 특이한 정렬

문제 설명 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 원소 ≤ 10,000 1 ≤ numlist의 길이 ≤ 100 numlist는 중복된 원소를 갖지 않습니다. 풀이 const solution = (numlist, n) => numlist.sort((a,b) => { if(Math.abs(a-n) - Math.abs(b-n) === 0) return b - a; return Math.abs..

프로그래머스 코딩테스트

[프로그래머스] 문자열 밀기

문제 설명 문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < A의 길이 = B의 길이 < 100 A, B는 알파벳 소문자로 이루어져 있습니다. 풀이 음.. 원래대로라면 문자열을 배열로 바꿔서 이렇게 저렇게 하겠지만.. 이번엔 문자열 매서드를 이용해보자. 대략적으로 머릿속으로 먼저 구상해보면.. A를 오른쪽으로 한칸씩 밀면서 B랑 같아질때 까지 비교해보는데, 이때 move변수를 하나 ..

프로그래머스 코딩테스트

[프로그래머스] 짝수는 싫어요, 피자 나눠 먹기 (2)

짝수는 싫어요 문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 풀이 음.. Array.from 등을 써도 될꺼 같긴 한데.. 그냥 클래식하게 for문으로 작업했다. const solution = (n) => { let oddArr = []; for(let i = 1; i b === 0 ? a : calcGCD(b, a%b); 간단하게 이렇게 한줄로 짜놓고.. 이걸 이용해서 최소 공배수를 구하는 식을 짜보면 const solution = (n) => { const calcGCD = (a, b) => b === 0 ? a : calcGCD(b, a%b); const gcd = calc..

프로그래머스 코딩테스트

[프로그래머스] 다항식 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/120863 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다. 제한사항 0 < polynomial에 있는 수 < 100 ..

프로그래머스 코딩테스트

[프로그래머스] 특정 문자 제거하기

문제 설명 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 letter은 길이가 1인 영문자입니다. my_string과 letter은 알파벳 대소문자로 이루어져 있습니다. 대문자와 소문자를 구분합니다. 풀이 letter이 길이가 1인 영문자이므로 단순하게 replaceAll() 매서드로 letter을 "" 으로 치환 후 리턴해준다. replace() 매서드를 사용 할 시 첫 letter만 제거되므로 replaceAll() 매서드를 사용했다. const solution = (my_string, letter) => my_strin..

프로그래머스 코딩테스트

[프로그래머스] 모음 제거

문제 설명 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 my_string은 소문자와 공백으로 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 풀이 my_string은 소문자로 이루어져 있으니 우선 제거할 소문자 모음의 배열을 변수로 만들어둔 뒤 split() 매서드로 문자열을 나눈 후, filter() 매서드를 이용해 소문자 모음 배열에 포함 여부를 체크 한뒤 join() 매서드로 다시 문자열로 변경 후 리턴해준다. const gather = ["a","e","i","o","u"]; const solution = (my_s..

프로그래머스 코딩테스트

[프로그래머스] 최빈값 구하기

문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 { const numberCountObj = array.reduce((acc, cur) => { acc[cur] ? acc[cur] += 1 : acc[cur] = 1; retur..

프로그래머스 코딩테스트

[프로그래머스] OX퀴즈

문제 설명 덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 연산 기호와 숫자 사이는 항상 하나의 공백이 존재합니다. 단 음수를 표시하는 마이너스 기호와 숫자 사이에는 공백이 존재하지 않습니다. 1 ≤ quiz의 길이 ≤ 10 X, Y, Z는 각각 0부터 9까지 숫자로 이루어진 정수를 의미하며, 각 숫자의 맨 앞에 마이너스 기호가 하나 있을 수 있고 이는 음수를 의미합니다. X, Y, Z는 0을 제외하고는 0으로 시작하지 않습니다. -10,000 ≤ X, Y ≤ 10,000 -20,000 ≤ Z ≤ 20,000 [연산..

프로그래머스 코딩테스트

[프로그래머스] 겹치는 선분의 길이

문제 설명 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다. 선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다. 제한사항 lines의 길이 = 3 lines의 원소의 길이 = 2 모든 선분은 길이가 1 이상입니다. lines의 원소는 [a, b] 형태이며, a, b는 각각 선분의 양 끝점 입니다. -100 ≤ a..

프로그래머스 코딩테스트

[프로그래머스] 분수의 덧셈

문제 설명첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항0 { const [numer, denom] = [numer1*denom2 + numer2*denom1, denom1*denom2]; }앞뒤 순서 상관없이 분자에 더해야할 분수의 분모를 곱해준 뒤 더해주고, 분모는 서로 곱해줘서 우선 분수의 덧셈을 마무리 한다. 이제 기약분수를 구해야 하는데 유클리드 호제법을 사용해서 최대공약수를 구하는 함수를 만들어보자. const calcGCD = (a, b) ..

프로그래머스 코딩테스트

[프로그래머스] 순서쌍의 개수

문제 설명순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 1,000,000 풀이n을 1부터 하나씩 숫자를 올려가면서 나눠서 몫이 0이 나오는 수들을 배열에 저장 후 해당 배열의 갯수를 리턴해주면 될 것같다. //for문 이용 const solution = (n) => { let result = []; for(let i = 1; i

프로그래머스 코딩테스트

[프로그래머스] 세균증식

문제 설명어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 10 1 ≤ t ≤ 15 풀이const solution = (n, t) => { for(let i = 0; i < t; i ++) n *= 2; return n; }음.. 처음 세균의 수 n이 t시간 후 몇마리가 될지 구하는 문제니까 주어진 t 시간만큼 for문으로 n(세균의 마리수)를 2배씩 늘려 준 뒤 n값을 리턴해주었다. for문도 안쪽 수식이 간단하면 중괄호를 안사용하는것도 코드 줄 수를 줄이는데 좋을 것 같다.

FE Dev. 은옥
'프로그래머스 코딩테스트' 카테고리의 글 목록 (2 Page)