Animated Turtle
728x90
반응형

Prgrammers 26

프로그래머스 문제풀기 25일차

프로그래머스 문제풀기 25일차. 1. 문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. function solution(A, B) { let last = A.at(A.length - 1); let result = A.padStart(A.length + 1, last).slice(0, A.length); if(A == B) return 0; for (let i = 1; i

Prgrammers 2023.06.11

프로그래머스 문제풀기 24일차

프로그래머스 문제풀기 24일차. 1. 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. function solution(chicken) { let coupon = chicken; let service = 0; while (coupon >= 10) { service += Math.floor(coupon / 10); coupon = Math.floor(coupon / 10) + (coupon % 10); } return service; ..

Prgrammers 2023.06.08

프로그래머스 문제풀기 23일차

프로그래머스 문제풀기 23일차. 1. 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. function solution(numlist, n) { let arr = []; numlist.sort((a,b) => b-a); for(let i=0; i b-a); score.forEach((e, i) => { if(!rank[e]){ rank[e] = i+1; } }); arr = arr.map(e => rank[e]); return arr; } 3. 머쓱이는 ..

Prgrammers 2023.06.07

프로그래머스 문제풀기 22일차

프로그래머스 문제풀기 22일차. 1. 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3X 마을에서 쓰는 숫자 10진법 3X 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. function solution(n) { let num = 0; for(let i=1; i { count[el] = (count[el] || 0) + 1; }); for (let cou in count) { if (count[cou] > 1) { an..

Prgrammers 2023.06.06

프로그래머스 문제풀기 21일차

프로그래머스 문제풀기 21일차. 1. 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요. function solution(my_string) { let sum = 0; my_string.split(/[a-zA-Z]/g).forEach(e => { if(parseInt(e)){ sum += parseInt(e); } }); return sum; } 2. 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지..

Prgrammers 2023.06.06

프로그래머스 문제풀기 20일차

프로그래머스 문제풀기 20일차. 1. 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요. function solution(dots) { let wiarr = [], hearr = []; dots.forEach(e => { wiarr.push(e[0]); hearr.push(e[1]); }); let wid = Math.max(...wiarr) - Math.min(...wiarr); let hei = Math.max(...hearr) - Math.min(...hearr); re..

Prgrammers 2023.06.04

프로그래머스 문제풀기 19일차

프로그래머스 문제풀기 19일차. 1. 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요. function solution(array) { return (array.join('').match(/[7]/g) !== null) ? array.join('').match(/[7]/g).length : 0; } 2. 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요. function solution(my_str, n) { let answer = []; for(let i=0; i { (e == n) ..

Prgrammers 2023.06.04

프로그래머스 문제풀기 18일차

프로그래머스 문제풀기 18일차. 1. 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요. function solution(str1, str2) { let inc = str1.indexOf(str2); return (inc !== -1) ? 1 : 2; } 2. 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. function solution(n) { for(let i=0; i

Prgrammers 2023.06.03

프로그래머스 문제풀기 17일차

프로그래머스 문제풀기 17일차. 1. 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. function solution(num, k) { let index = num.toString().indexOf(k); return (index != -1) ? index+1 : -1; } 문제풀이 Tip 정수로 받아온 num에서는 indexOf를 사용할 수 없어서 toString()을 사용하여 문자열로 바꾸어 주었습니다. 2. 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 s..

Prgrammers 2023.06.02

프로그래머스 문제풀기 16일차

프로그래머스 문제풀기 16일차. 1. 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. function solution(message) { let arr = message.split(''); return (arr.length) * 2; } 2. 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. function solution(array) { let num = 0, index..

Prgrammers 2023.06.02

프로그래머스 문제풀기 15일차

프로그래머스 문제풀기 15일차. 1. 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. function solution(numbers) { let answer = numbers.replaceAll("zero", 0).replaceAll("one", 1).replaceAll("two", 2).replaceAll("three", 3).replaceAll("four", 4).replaceAll("five", 5).replaceAll("six", 6).replaceAll("seven", 7).replaceAll("eight", 8).replaceAll("ni..

Prgrammers 2023.05.31

프로그래머스 문제풀기 14일차

프로그래머스 문제풀기 14일차. 1. 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. function solution(array, n) { let ans = []; array.forEach((item) => { ans.push(Math.abs(item - n)); }) const min = Math.min(...ans); let check = []; for(let index = 0; index < ans.length; index++){ if(ans[index] === min){ check.push(array[index]); } } return Math.min(...check); } 풀이..

Prgrammers 2023.05.30

프로그래머스 문제풀기 13일차

프로그래머스 문제풀기 13일차. 1. 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. function solution(s) { let sum = 0; let arr = s.split(" "); for(let i=0; i { answer.push(str.length); }); return answer; } 3. 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 sol..

Prgrammers 2023.05.29

프로그래머스 문제풀기 12일차

프로그래머스 문제풀기 12일차. 1. 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. function solution(str){ let answer = str.split('a').join(''); answer = answer.split('e').join(''); answer = answer.split('i').join(''); answer = answer.split('o').join(''); answer = answer.split('u').join(''); return answer; }; 2. 문자열 my_string이 매개변수로 주어질 때, my_st..

Prgrammers 2023.05.28

프로그래머스 문제풀기 11일차

프로그래머스 문제풀기 11일차. 1. 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. function solution(box, n) { let answer = parseInt(box[0]/n)*parseInt(box[1]/n)*parseInt(box[2]/n); return answer; } 2. 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록..

Prgrammers 2023.05.27

프로그래머스 문제풀기 10일차

프러그래머스 문제풀기 10일차. 1. 사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요. function solution(dot){ let answer; if(dot[0]>0){ if(dot[1]>0..

Prgrammers 2023.05.26

프로그래머스 문제풀기 9일차

프로그래머스 문제풀기 9일차. 1. 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. function solution(hp) { let antG=parseInt(hp/5); let antS=parseI..

Prgrammers 2023.05.25

프로그래머스 문제풀기 8일차

프로그래머스 문제풀기 8일차. 1. 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. function solution(numbers, num1, num2) { let answer = numbers.slice(num1, (num2+1)) return answer; } 2. 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어..

Prgrammers 2023.05.24

프로그래머스 문제풀기 7일차

프로그래머스 문제풀기 7일차. 1. 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. function solution(my_string, letter) { let reg = new RegExp(letter, "g"); let answer = my_string.replace(reg, ''); return answer; } 2. 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution ..

Prgrammers 2023.05.23

프로그래머스 문제풀기 6일차

프로그래머스 문제풀기 6일차 1. 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. function solution(my_string) { let answer; answer = my_string.split('').reverse().join(''); return answer; } 2. "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. const readline = require('readline'); const rl = readline.createInterface({ ..

Prgrammers 2023.05.23

프로그래머스 문제풀기 5일차

프로그래머스 문제풀기 5일차. 1. 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. function solution(price) { let answer; if(price >= 100000){ answer = Math.floor(price * 0.95); if(price >= 300000){ answer = Math.floor(price * 0.9); if(price >= 500000){ answer = Math.floor(price * 0.8); } } } else { answer = price; } return ..

Prgrammers 2023.05.21

프로그래머스 문제풀기 4일차

프로그래머스 문제풀기 4일차. 1. 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. function solution(n) { let answer = 1; let pizza = 7; function check(){ if((pizza * answer)/n < 1){ answer++; check(); } } check(); return answer; } 2. 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다..

Prgrammers 2023.05.20

프로그래머스 문제풀기 3일차

프로그래머스 문제풀기 3일차. 1. 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. function solution(num1, num2) { let answer = num1 % num2; return answer; } 2. 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. function solution(array) { let center = parseInt(array.length/2); arr..

Prgrammers 2023.05.20

프로그래머스 문제풀기 2일차

프로그래머스 문제풀기 2일차. 1. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. function solution(num1, num2) { let answer = Math.floor((num1/num2)*1000); return answer; } 2. 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. function solution(num1, num2) { let answer = -1; if(num1 === num2){ answer = 1; } return answer; } 3. 첫 번째 분..

Prgrammers 2023.05.18

프로그래머스 문제풀기 1일차

프로그래머스 문제풀기 1일차. 1. 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요. function solution(num1, num2) { let answer = num1 + num2; return answer; } 2. 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. function solution(num1, num2) { let answer = num1 - num2; return answer; } 3. 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요. functi..

Prgrammers 2023.05.17

프로그래머스 문제풀기

프로그래머스 0단계 코딩테스트 입문 1. 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요. 풀어보기 function solution(num1, num2) { let answer = Math.floor(num1/num2); return answer; } num1을 num2로 나눈 결과값을 Math.floor를 사용해 정수부분만 answer에 저장 후 answer값을 반환합니다. 2. 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 풀어보기 function solution(num1, num2) { let answer = -1; i..

Prgrammers 2023.05.16
728x90
반응형