이예지(프로그래머스)
문제 1.
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
입출력 예
array result
[7, 77, 17] 4
[10, 29] 0
문제 2.
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
입출력 예
numbers result
"onetwothreefourfivesixseveneightnine" 123456789
"onefourzerosixseven" 140
HTML
복사
풀이 1.
function solution(array) {
var answer = 0;
array.join('').split('').forEach((item)=>{
if(item === '7') answer+=1;
})
return answer;
}
풀이 2.
function solution(numbers) {
let word = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
word.forEach((item, index)=>{
numbers= numbers.replaceAll(item, index);
})
return Number(numbers);
}
JavaScript
복사
조원영(프로그래머스)
문제1
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
문제2
새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.
입출력 예
price money count result
3 20 4 10
JavaScript
복사
풀이1
function solution(n) {
return parseInt(n.toString(3).split('').reverse().join(''), 3);
}
풀이2
function solution(price, money, count) {
var answer = 0;
let sum = 0;
for (let i = 1; i <= count; i++) {
sum += price * i;
}
if (sum > money) {
answer = sum - money;
}
return answer;
}
JavaScript
복사
김미정(프로그래머스)
문제1.
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
JavaScript
복사
풀이1.
function solution(age) {
var answer = '';
const arr = ['a','b','c','d','e','f','g','h','i','j']
for(let i=0; i<arr.length; i++){
for(let j=0; j<age.length; j++){
if(age[j] == i) answer += arr[i]
}
}
ㅠㅠ
return answer;
}
<예지 풀이>
1.
function solution(age) {
var answer = '';
const arr = ['a','b','c','d','e','f','g','h','i','j']
age = age.toString();
for(let i=0; i<age.length; i++){
answer += arr[age[i]];
}
return answer;
}
2.
function solution(age) {
let arr = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
return String(age).split("").map((v)=> arr[v]).join("");
}
// 저는 여기까지 풀었습니다 더이상 못하겠어요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
JavaScript
복사
손수민(프로그래머스)
문제
"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
JavaScript
복사
풀이 1
const readline = require('readline');//한 번에 한 줄 씩 데이터를 읽기 위한 인터페이스를 제공하는 모듈
const rl = readline.createInterface({//콘솔에서 표준 입출력 interface생성
input: process.stdin,
output: process.stdout
});
let input = [];
//입출력 코드
rl.on('line', function (line) {//입력 받은 값을 한 줄씩 읽어 문자열 타입으로 전달
input = line.split(' ');
}).on('close', function () {//입력값을 활용하여 출력값을 도출하는 코드를 작성
const num = Number(input[0]);
let logStr = ''
for(let i = 0 ; i < num; i++) {
for(let j = 0 ; j <= i; j++) {
logStr+='*'
}
logStr+='\n'
}
console.log(logStr)
});
풀이 2
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
solution(Number(input[0]));
});
function solution(n){
for(let i=1;i<=n; i++){
console.log('*'.repeat(i))
}
}
JavaScript
복사