문제
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
코드
function solution(s) {
var answer = 0;
// 1)
answer = Number(s)
// 2)
answer = s/1
// 3)
answer = +s
return answer;
}
문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
코드
function solution(n) {
var answer = 0;
answer = n.toString().split("").sort().reverse().join("")
return parseInt(answer);
}
📘 풀이
1. toString() : 정수 → 문자열 변환
2. split(구분문자) : 한 숫자씩 분리
3. sort().reverse() : 내림차순으로 정렬
4. join(구분문자) : 문자열 → 정수 변환
문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
코드
function solution(phone_number) {
var answer = '';
var n = 0;
n = phone_number.length - 4;
answer ="*".repeat(n) + phone_number.substring(n);
return answer;
}
📘 풀이
repeat(숫자) : 숫자 만큼 반복
substring(시작, (끝)) : 시작 인덱스부터 끝까지 부분 문자열 반환
문제
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
코드
function solution(arr, divisor) {
var answer = [];
for (i=0; i<arr.length; i++) {
if (arr[i] % divisor === 0) {
answer.push(arr[i]);
}
}
if (answer.length === 0){
answer = [-1];
}
answer.sort((a,b) => a-b);
return answer;
}
📘 풀이
sort((a,b) => a-b) : 오름차순 정렬
문제
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
코드
function solution(arr) {
var answer = [];
if (arr.length === 1){
answer = [-1];
}
else{
arr.splice(arr.indexOf(Math.min(...arr)),1);
answer = arr;
}
return answer;
}
📘 풀이
1. Math.min(...arr) : 최솟값 구하기
2. arr.indexOf() : 최솟값 위치 구하기
3. arr.splice(시작위치, 개수) : 시작위치부터 개수만큼 삭제 후 반환
문제
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
코드
function solution(s) {
var answer = "";
answer = s.split("").sort().reverse().join("");
return answer;
}
📘 풀이
1. split("") : 문자열을 원소 한개씩 배열로 바꿈
2. sort().reverse() : 배열 내림차순 정렬
3. join("") : 배열을 문자열로 바꿈
문제
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
코드
function solution(s) {
var answer = false;
// 숫자에 e가 붙으면 지수로 인식하여 문자를 숫자로 판단
if (s.length === 4 || s.length === 6){
if (s == parseInt(s)){
answer = true;
}
}
return answer;
}
📘 풀이
숫자 확인
1. isNaN() : 숫자가 아니면 True (Not a Number)
2. !!Number() : 숫자이면 True
3. parseInt() : 숫자로 변환
문제
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
코드
function solution(arr1, arr2) {
var answer = [];
for (i=0; i<arr1.length; i++){
let row = [];
for (j=0; j<arr1[0].length; j++){
row.push(arr1[i][j] + arr2[i][j]);
}
answer.push(row)
}
return answer;
}
문제
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
코드
function solution(n, m) {
var answer = [];
var G = 0; // 최대공약수
var L = 0; // 최소공배수
num = n > m ? n : m;
for (i=1; i<=num; i++){
if (n % i === 0 && m % i === 0){ // 최대공약수
G = i;
}
}
L = n * m / G;
answer = [G, L];
return answer;
}
📘 풀이
두 수의 곱 = 최대공약수 * 최소공배수
문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
코드
function solution(s) {
var answer = '';
words = s.split(' ');
for (let i = 0; i < words.length; i++) {
for(let j = 0; j < words[i].length; j++) {
if(j % 2 === 0) {
answer += words[i][j].toUpperCase();
} else {
answer += words[i][j].toLowerCase();
}
}
if (i < words.length -1) {
answer += ' ';
}
}
return answer;
}
📘 풀이
1. str.toUpperCase() : 대문자 변환
2. str.toLowerCase() : 소문자 변환
문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
코드
function solution(n) {
var answer = 0;
answer = n.toString(3).split("").reverse().join("")
return parseInt(answer, 3);
}
📘 풀이
1. toString(3) : 10진법을 3진법으로 변환
2. split("") : 원소 하나하나 배열에 넣어 변환
3. reverse() : 역순 만들기
4. join("") : 공백 없는 문자열로 변환
5. parseInt(str, 3) : 3진법 문자열을 10진법으로 변환
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이
문제
코드
📘 풀이