반응형
73. 배열 만들기 1
문제 설명
- 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ n ≤ 1,000,000 1 ≤ k ≤ min(1,000, n)
입출력 예시
- 1 이상 10 이하의 3의 배수는 3, 6, 9 이므로 [3, 6, 9]를 return 합니다.
- 1 이상 15 이하의 5의 배수는 5, 10, 15 이므로 [5, 10, 15]를 return 합니다.
풀이
const solution = (n, k) => {
let result = [];
for(let i = 1; i <= n; i++){
if(i%k === 0){
result.push(i);
}
}
return result.sort((a,b) => a-b);
}
// 새로운 빈 배열 result 선언
// i는 1부터, n이하 까지의 수
// 만약 k로 나누엇을 때 나머지가 0이면 i는 k의 배수
// sort() 메서드를 이용하여 오름차순으로 정렬
74. 주사위 게임 1
문제 설명
- 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다.
- 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다.
- a와 b가 모두 홀수라면 a^2 + b^2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
- a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다.
- 두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.
제한사항
- a와 b는 1 이상 6 이하의 정수입니다.
입출력 예시
- 예제 1번에서 두 주사위 숫자가 모두 홀수이므로 32 + 52 = 9 + 25 = 34점을 얻습니다. 따라서 34를 return 합니다.
- 예제 2번에서 두 주사위 숫자 중 하나만 홀수이므로 2 × (6 + 1) = 2 × 7 = 14점을 얻습니다. 따라서 14를 return 합니다.
- 예제 3번에서 두 주사위 숫자가 모두 홀수가 아니므로 |2 - 4| = |-2| = 2점을 얻습니다. 따라서 2를 return 합니다.
풀이
const solution = (a, b) => {
if(a*b % 2 === 1) return a*a + b*b;
else if(a%2 === 1 || b%2 ===1) return 2*(a+b);
else return Math.abs(a-b);
}
// a와 b 모두 홀수이면 각 제곱의 합
// a또는 b 둘 중 하나가 홀수이면 합한 후 2배
// 모두 짝수이면 a-b의 절대값
75. rny_string
문제 설명
- 'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ rny_string의 길이 ≤ 100
- rny_string은 영소문자로만 이루어져 있습니다.
입출력 예시
- 예제 1번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.
- 따라서 "rnasterpiece"를 return 합니다.
- 예제 2번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.
- 따라서 "prograrnrners"를 return 합니다.
- 예제 3번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "jerry"를 return 합니다.
- 예제 4번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "burn"를 return 합니다.
풀이
const solution = rny_string => {
return rny_string.replace(/m/g, "rn")
}
// replace() 메서드를 통해 문자열의 문자 교체
// replace() 메서드는 첫 번째 문자만 변환하기 때문에 정규표현식 g 플래그를 함께 사용
- 정답률 높은 순부터 풀이
- 매일 3 문항 풀이
반응형
'프로그래머스 JS 코딩테스트' 카테고리의 다른 글
JS 프로그래머스 #26 - 부분 문자열 이어 붙여 문자열 만들기, 문자열 붙여서 출력하기, 배열의 원소만큼 추가하기 (47) | 2023.09.06 |
---|---|
Lv0 JS 프로그래머스 #25 - n보다 커질 때까지 더하기, 공백으로 구분하기 2, 문자열 바꿔서 찾기 (47) | 2023.09.05 |
Lv0 JS 프로그래머스 #23 - 마지막 두 원소, 뒤에서 5등 위로, 문자열 곱하기 (37) | 2023.09.01 |
Lv0 JS 프로그래머스 #22 - 배열의 길이에 따라 다른 연산하기, 공백으로 구분하기 1, 원소들의 곱과 합 (36) | 2023.08.31 |
Lv0 JS 프로그래머스 #21 - n 번째 원소까지, n개 간격의 원소들, 대문자로 바꾸기 (40) | 2023.08.30 |