문자열 섞기
문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
제한사항- 1 ≤ str1의 길이 = str2의 길이 ≤ 10
- str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
str1 | str2 | result |
"aaaaa" | "bbbbb" | "ababababab" |
작성한 코드
function solution(str1, str2) {
var answer = '';
for(let i = 0; i < str1.length; i++){
answer += str1[i] + str2[i];
}
return answer;
}
문자 리스트를 문자열로 변환하기
문제 설명
문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
제한사항- 1 ≤ arr의 길이 ≤ 200
- arr의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열입니다.
입출력 예
arr | result |
["a","b","c"] | "abc" |
작성한 코드
function solution(arr) {
var answer = '';
answer = arr.join('');
return answer;
}
해설
join()은 배열 요소 사이에 지정한 구분자를 넣어 연결하지만 공백 없이 붙일 때는 join('')처럼 빈 문자열을 구분자로 사용 가능
문자열 곱하기
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항- 1 ≤ my_string의 길이 ≤ 100
- my_string은 영소문자로만 이루어져 있습니다.
- 1 ≤ k ≤ 100
입출력 예
my_string | k | result |
"string" | 3 | "stringstringstring" |
"love" | 10 | "lovelovelovelovelovelovelovelovelovelove" |
입출력 예 #1
- 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.
작성한 코드
function solution(my_string, k) {
return my_string.repeat(k);
}
더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
제한사항- 1 ≤ a, b < 10,000
입출력 예
a | b | result |
9 | 91 | 991 |
89 | 8 | 898 |
입출력 예 #1
- a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.
입출력 예 #2
- a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.
작성한 코드
function solution(a, b) {
const ab = Number(String(a) + String(b));
const ba = Number(String(b) + String(a));
return ab > ba ? ab : ba;
}
다른 사람의 코드
function solution(a, b) {
return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}
해설
숫자를 문자열로 바꾸고 + 연산으로 이어붙인 뒤, Number()로 다시 숫자로 변환.
그 둘 중 더 큰 값을 삼항 연산자로 비교해 반환
Math 함수를 사용해서 값을 비교하는 것도 가능
두 수의 연산값 비교하기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.
제한사항- 1 ≤ a, b < 10,000
입출력 예
a | b | result |
2 | 91 | 364 |
91 | 2 | 912 |
입출력 예 #1
- a ⊕ b = 291 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 364 이므로 364를 return 합니다.
입출력 예 #2
- a ⊕ b = 912 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 912 이므로 912를 return 합니다.
작성한 코드
function solution(a, b) {
const ab = Number(String(a) + String(b));
const ab2 = Number(Number(a) * Number(b) * 2);
return ab >= ab2 ? ab : ab2;
}
'코딩 테스트 준비 > JavaScript' 카테고리의 다른 글
[Programmers] JavaScript - Day2 (0) | 2025.04.17 |
---|---|
[Programmers] JavaScript - Day1 (1) | 2025.04.16 |