728x90
📝 Day 3. 연산
새로 알게 된 내용이나 리펙토링한 내용 정리하기!
🚩 문자열 섞기
Spread Operator
반복 가능한 객체를 전개(spread)해서 사용할 수 있다.
const elements = ['Fire', 'Air', 'Water'];
console.log(...elements); // Fire Air Water
function solution(str1, str2) {
var answer = '';
const str1Splitted = str1.split("");
const str2Splitted = str2.split("");
for (var x = 0; x < str1.length; x++){
answer += str1Splitted[x];
answer += str2Splitted[x];
}
return answer;
}
참고할 다른 사람 코드
function solution(str1, str2) {
return [...str1].map((x, idx)=> x+str2[idx]).join("");
}
🚩 문자열 붙여서 출력하기
join()
배열의 모든 요소를 쉼표나 지정된 구분 문자열로 구분하여 새 문자열을 만들어 반환한다.
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// Expected output: "Fire,Air,Water"
console.log(elements.join(''));
// Expected output: "FireAirWater"
console.log(elements.join('-'));
// Expected output: "Fire-Air-Water"
function solution(arr) {
var answer = '';
arr.forEach((element) => answer += element);
return answer;
}
참고할 다른 사람 코드
function solution(arr) {
return arr.join("")
}
🚩 문자열 곱하기
function solution(my_string, k) {
return my_string.repeat(k);
}
🚩 더 크게 합치기
Math.max()
입력받은 숫자 중 가장 큰 숫자를 반환한다.
console.log(Math.max(1, 3, 2)); // 3
function solution(a, b) {
var num1 = Number(a.toString() + b.toString());
var num2 = Number(b.toString() + a.toString());
return num1 >= num2 ? num1 : num2;
}
참고할 다른 사람 코드
function solution(a, b) {
return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}
🚩 문자열 겹쳐쓰기
function solution(a, b) {
return Math.max(Number(`${a}${b}`), 2*a*b);
}
🤔 느낀 점
문제를 푼 다음에 다른 사람의 코드를 참고해보니 다양한 내장 함수를 써서 한 줄로 쓴 코드를 많이 보게 되었다... 코드가 너무 긴 것보다 더 간편해 보이고 배울 함수도 많아서 앞으로 다른 사람의 코드도 열심히 살펴보기로 했다. 그런데 '더 크게 합치기' 문제의 경우에는 다른 사람의 코드를 참고해보니 코드를 한 줄로 줄일 수 있어서 좋다고 생각했는데 코드의 가독성을 고려하면 변수를 만들어서 좀 더 설명적으로 코드를 적는 게 나은가..? 고민이 들었다.
📚 참고
반응형
'코딩 테스트' 카테고리의 다른 글
[javascript] 프로그래머스 코딩 기초 트레이닝 Day2 정리 (0) | 2024.03.10 |
---|---|
[javascript] 프로그래머스 코딩 기초 트레이닝 Day1 정리 (0) | 2024.03.10 |