궁금한게 많은 코린이의 Developer 노트
[TIL] 문자 리스트를 문자열로 반환하기 (Math.max(),+연산자) 본문
나의 풀이
function solution(arr) {
var arrArray = arr.join('');
var answer = `${arrArray}`;
return answer;
}
다른 사람의 풀이를 보면서 변수하나 빼도 구동이 가능하다는 것을 알게되었다..
join 메서드를 사용한 것을 보면 문제 접근법은 나쁘지 않았던 것 같다.
다른사람의 풀이 1
function solution(arr) {
return arr.join("")
}
join 메서드를 사용하여 더 간결하게 푼 풀이이다.
다른사람의 풀이 2
function solution(arr) {
var answer = '';
arr.forEach(str=>{
answer += str;
})
return answer;
}
비어있는 문자열 변수 answer에 forEach 문을 사용해서
순서대로 배열을 하나씩 넣어주었다.
다른사람의 풀이 3
function solution(arr) {
var answer = '';
for(let i of arr){
answer += i;
}
return answer;
}
위의 풀이와 마찬가지로 for of를 사용해서 순서대로 배열에 넣어주었다.
다른사람의 풀이 4
function solution(a, b) {
const calculate = (a, b) => +`${a}${b}`;
return Math.max(calculate(a, b), calculate(b, a));
}
이 풀이를 분석해보면서 신기했던 것은
템플릿 리터럴 앞의 + 연산자이다.
+연산자는 문자열을 숫자로 바꾸어주는 역할을 하기도 한다.
a와b를 연결한 뒤 + 연산자로 숫자로 변환할 수있다는 것이 신기했다.
ParseInt() 메서드나 Number() 메서드를 사용해서 숫자로 변환해주었는데
+ 연산자로도 문자열이 숫자로 바뀌는게 신기하다.
타입을 분석해보았을 때,
+`${a}${b}`; --> number
`${a}${b}`; -->string으로 나온다.\
저 풀이에서는 + 연산자가 없어도 풀이가 가능하다.
즉, 다른 메서드에서 문자를 숫자로 바꾸어주는 기능을 가지고 있다는 뜻인데,
Math.max (최대값 구하는 메서드)는 + 연산자와 마찬가지로 해당 역할을 수행한다.
function solution(a, b) {
const calculate = (a, b) => `${a}${b}`;
//console.log(typeof(+`${a}${b}`)); //number
//console.log(typeof(`${a}${b}`)); //string
return typeof(Math.max(calculate(a, b), calculate(b, a)));
}
결론 ) +연산자와 Math.max() 메서드는 문자열을 숫자로 바꿔주는 기능을 가지고 있다
'TIL' 카테고리의 다른 글
[모던 리액트 딥다이브] 스터디 2024-04-03 DIL (0) | 2024.04.04 |
---|---|
[TIL] 프로그래머스 기초 flag에 따라 다른 값 반환하기 (2) | 2024.02.23 |
[TIL] 프로그래머스 문자열 겹쳐쓰기 (0) | 2024.02.07 |
[TIL] 프로그래머스 입문 A를 B로 만들기 (0) | 2024.02.02 |
[TIL] 프로그래머스 문자열 붙여서 출력하기 feat. join( ) 메서드 (0) | 2024.01.29 |