- 숫자 문자열과 영단어
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
function solution(s) {
let a = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
for (let i = 0; i < a.length; i++) {
let b = s.replaceAll(a[i],i);
s = b;
}
return Number(s);
}
- 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
function solution(strings, n) {
let string = [];
for (let i = 0; i < strings.length; i++) {
let front = strings[i][n];
strings[i] = front + strings[i];
string.push(strings[i]);
}
let a = string.sort()
let answer = [];
for (let i = 0; i < a.length; i++) {
answer.push(a[i].slice(1));
}
return answer;
}
- 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
function solution(nums) {
let len = nums.length, answer = 0;
for (let i = 0; i < len - 2; i++) {
for (let j = i + 1; j < len - 1; j++) {
for (let k = j + 1; k < len; k++) {
if (isPrime(nums[i] + nums[j] + nums[k])) {
answer++;
}
}
}
}
return answer;
}
const isPrime = (n) => {
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) {
return false;
}
}
return true;
}