일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리액트네이티브
- react native hooks
- react native hook
- react native jsi
- 프로그래머스
- RecyclerView
- 스팀게임추천
- 하우스플리퍼인테리어
- 안드로이드
- javascript interface
- react 라인차트
- circular progress bar
- react native lodash
- React Native
- 하우스플리퍼
- 리액트 라인차트
- react
- Kotlin
- ReactNative
- Graveyard Keeper
- react line chart
- Android
- 프로그래머스 LV.0
- 리액트네이티브 hooks
- 프로그래머스 Lv0
- 오블완
- react circle progress bar
- 리액트 line chart
- 티스토리챌린지
- react circle progress
Archives
- Today
- Total
숨참고 개발다이브
[프로그래머스] Lv.0 자바스크립트 문제 정리 (2) 본문
728x90
감기 이슈로 일주일이나 쉰 건에 대하여...
1. 문자열 섞기
function solution(str1, str2) {
const answers = [];
for (i = 0; i < str1.length; i++) {
answers.push(str1[i]);
answers.push(str2[i]);
}
var answer = answers.join('');
return answer;
}
.map()을 사용하면 더 간단하게 해결
function solution(str1, str2) {
return [...str1].map((x, idx)=> x+str2[idx]).join("");
}
2. 문자 리스트를 문자열로 변환하기
function solution(arr) {
var answer = arr.join('');
return answer;
}
까먹지 말라고 반복되는 join() 문제
3. 문자열 곱하기
function solution(my_string, k) {
var answer = my_string.repeat(k);
return answer;
}
이 문제도 복습용인지 repeat() 메서드 문제가 또 나왔다.
4. 더 크게 합치기
function solution(a, b) {
const ab = String(a) + String(b);
const ba = String(b) + String(a);
return ab > ba ? Number(ab) : Number(ba);
}
생각나는 대로 풀었는데,
function solution(a, b) {
return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}
다른 사람 답변 보고 아니 이렇게 쉬운 방법이...! 했다.. 역시 아는걸 얼마나 활용하냐가 중요한 듯
5. 두 수의 연산값 비교하기
function solution(a, b) {
return Math.max(`${a}${b}`, 2 * a * b);
}
그래서 바로 활용해 주었다.
parseInt(a+""+b+""); 이런 식으로 타입을 변환해 주는 사람도 있는데, 이건 취향 차이인 듯...
6. n의 배수
function solution(num, n) {
return num % n === 0 ? 1 : 0;
}
기초라 코멘트 없음...
7. 공배수
function solution(number, n, m) {
return number % n || number % m ? 0 : 1;
}
이 문제 역시 눈길을 끌었던 다른 답변이 있는데
function solution(number, n, m) {
return +!(number % n || number % m);
}
문제가 0 혹은 1을 리턴하라고 명시되었기 때문에 앞에 +를 붙여서 푼 게 인상적이었다.
8. 홀짝에 따라 다른 값 반환하기
function solution(n) {
var answer = 0;
if (n % 2) {
for (i = 1; i <= n; i += 2) {
answer += i;
}
} else {
for (i = 0; i <= n; i += 2) {
answer += Math.pow(i, 2);
}
}
return answer;
}
이 문제 답변 중에 수학 공부도 다시 해줘야겠다고 생각한 게 있다.
function solution(n) {
if(n%2===1)
return (n+1)/2*((n + 1)/2) ;
else
return n*(n+1)*(n+2)/6;
}
물론 Math.pow() 메서드를 써도 무방하겠지만, 잊고 있던 식이 눈에 들어오자마자 아 수학공부... 했던 답이었음
9. 조건 문자열
function solution(ineq, eq, n, m) {
switch(`${ineq}${eq}`) {
case '>=':
return +(n >= m);
case '<=':
return +(n <= m);
case '>!':
return +(n > m);
case '<!':
return +(n < m);
}
}
처음엔 어떻게 풀어볼까 고민하다가 switch-case 문이 적당해 보였다.
나도 이전 문제의 답변의 +를 활용하여 boolean을 0 혹은 1로 출력하도록 처리해 보았다.
10. flag에 따라 다른 값 반환하기
function solution(a, b, flag) {
return flag ? a + b : a - b;
}
이것두.. 너무 기초적이라 따로 코멘트는 없음.
300x250
'개발 > 문제풀기' 카테고리의 다른 글
[프로그래머스] LV.0 삼각형의 완성조건 (2) 자바스크립트 (0) | 2024.10.28 |
---|---|
[프로그래머스] Lv.1 바탕화면 정리 자바스크립트 (0) | 2024.10.18 |
[프로그래머스] Lv.0 자바스크립트 문제 정리 (1) | 2024.10.18 |
Comments