📢 공지사항
home
🎨

3주차 해설

태그
배열
종류
해설

배열 두 배 만들기

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두 배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

생각하기 쉬운 풀이

function solution(numbers) { var answer = numbers; for (var i=0 ; i < numbers.length ; i++ ) { answer[i] = answer[i] * 2; } return answer; }
JavaScript
복사

빠른 풀이

const solution = (numbers) => numbers.map((n) => n * 2)
JavaScript
복사

문자열 뒤집기

문자열 my_string이 매개변수로 주어집니다.  my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

생각하기 쉬운 풀이

function solution(my_string) { var answer = ''; for ( var i=my_string.length-1 ; i >= 0 ; i-- ) { answer += my_string.charAt(i); } return answer; }
JavaScript
복사

빠른 풀이 : split() 사용

function solution(my_string) { return my_string.split('').reverse().join(''); }
JavaScript
복사

빠른 풀이 : spread 문법 사용

function solution(my_string) { return [...my_string].reverse().join(''); }
JavaScript
복사

특정 문자 제거하기

문자열 my_string과 문자 letter이 매개변수로 주어집니다.  my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

생각하기 쉬운 풀이

function solution(my_string, letter) { var answer = ""; for ( var i=0 ; i < my_string.length ; i++ ) { if ( my_string.charAt(i) !== letter ) { answer += my_string.charAt(i); } } return answer; }
JavaScript
복사

빠른 풀이 : replaceAll() 활용

function solution(my_string, letter) { return my_string.replaceAll(letter, ""); }
JavaScript
복사

빠른 풀이 : split() 활용

function solution(my_string, letter) { return my_string.split(letter).join('') }
JavaScript
복사

배열의 유사도

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

생각하기 쉬운 풀이

2중 for문 사용 시 시간 초과로 오답 처리될 수 있으니 주의 !!
function solution(s1, s2) { var answer = 0; for (var i = 0; i < s1.length; i++){ for (var j = 0; j < s2.length; j++){ if(s1[i] === s2[j]) answer++; } } return answer; }
JavaScript
복사

빠른 풀이 : find() 이용

function solution(s1, s2) { var answer = 0; for ( var i=0 ; i < s1.length ; i++ ) { if ( s2.find(element => element === s1[i] ) ) { answer ++; } } return answer; }
JavaScript
복사

빠른 풀이 : filter와 includes() 사용

function solution(s1, s2) { const intersection = s1.filter((x) => s2.includes(x)); return intersection.length; }
JavaScript
복사

가위바위보

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp 가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.

생각하기 쉬운 풀이

function solution(rsp) { var answer = ''; for ( var i=0 ; i < rsp.length ; i++ ) { if ( rsp.charAt(i) === '2' ) { answer += '0'; } else if ( rsp.charAt(i) === '0' ) { answer += '5'; } else { answer += '2'; } } return answer; }
JavaScript
복사

빠른 풀이 : map + 객체 사용

function solution(rsp) { let arr = { 2: 0, 0: 5, 5: 2 }; var answer = [...rsp].map(v => arr[v]).join(""); return answer; }
JavaScript
복사

빠른 풀이 : map + 삼항연산자 사용

function solution(rsp) { return rsp.split("").map((v) => v==="2" ? 0 : (v==="0" ? 5 : 2)).join("") }
JavaScript
복사