전체 글 167

[Programmers] 120902번 - 문자열 계산하기

Problem 문제 보기 my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요. Solution function solution(my_string) { let str = my_string.split(' '); let answer = 0; for(let i = 0; i < str.length; i++){ if (str[i] == '+'){ continue; } else if (str[i] == '-'){ answer -= Number(str[i+1]); ++i; } else answer += Number(str[i]); } return answer; }

[Programmers] 120853번 - 컨트롤 제트

Problem 문제 보기 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. Solution function solution(s) { let ss = s.split(' ') for (let i = 0; i a + b); }

[Programmers] 120894번 - 영어가 싫어요

Problem 문제 보기 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. Solution function solution(numbers) { const num = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ]; num.forEach((x, index) => { numbers = numbers.replaceAll(x, index); }) return Number(numbers); } 다른 풀이를 보니 아래 reduce()를 이용해서 풀 수 있는 방법도..

[Programmers] 120843번 - 공 던지기

Problem 문제 보기 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요. Solution function solution(numbers, k) { return numbers[(2 * (k-1)) % numbers.length] } k가 하나씩 증가할 때 index는 2개씩 증가한다. -> 2 * (k-1)

[Programmers] 120852번 - 소인수분해

Problem 문제 보기 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. Solution function solution(n) { let answer = []; for(let i = 2; i 1; j--){ if(i % j === 0) count++ } if(count === 1) answer.push(i) } return answer; } 다른 사람 풀이를 보니 아래와 같이 푸는 방법도 있었다. 그러나 테스트 시간을 비교하면 내가 더 빠르다u_u f..

[Programmers] 120912번 - 7의 개수

Problem 문제 보기 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요. Solution function solution(array) { return [...array.join('')].filter(x => x === '7').length; } 다른 사람 풀이를 보니 문자열로 만든 후 7을 기준으로 나눠서 배열로 만든 후에 길이에서 -1를 빼는 방식으로 푸는 방법도 있었다. function solution(array) { return array.join('').split('7').length-1; }

[Programmers] 120864번 - 숨어있는 숫자의 덧셈(2)

Problem 문제 보기 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요. Solution function solution(my_string) { return [...my_string].map(x => isNaN(x) ? "/" : x).join("").split("/").map(Number).reduce((a, b) => a + b); } 다른 풀이 참고하니 아래와 같이 정규표현식으로 푸는 방식도 있었다. function solution(my_string) { return my_string.split(/\D+/).reduce((acc, cur) ..

[Programmers] 120896번 - 한 번만 등장한 문자

Problem 문제 보기 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. Solution function solution(s) { return [...s].filter(x => s.lastIndexOf(x) === s.indexOf(x)).sort().join(''); } 마지막 인덱스와 처음 인덱스랑 같은 경우 (중복이 없는 경우)만 return되도록 함