본문 바로가기
728x90
반응형

전체 글47

[Level 0] # 문자열 뒤집기 - 나의 풀이 배열을 뒤집는것은 앞에서 해보았지만 문자열을 뒤집는것은 해보지 못해서 생각을 많이했다. 반복문을 써서 반대로 새로운 배열을 만드는 식으로 풀어보았다. 문자열을 정의할때는 따옴표로 정의를 하고 my_string의 배열의 원소를 하나하나 새로운 배열에 더하여 완성하였다. function solution(my_string) { let string = ''; for(i= my_string.length - 1;i>=0;i--) { string += my_string[i] } return string; } - 다른 풀이 스프레드 문법을 사용해서도 풀 수 있수도 있고 split,reverse,join함수를 전부 사용하여서도 풀 수 있다. split(' ') 문자를 각각 배열로 나누는 함수이다. reve.. 2024. 2. 9.
[Level 0] # 중복된 숫자 개수 배열의 원소중 특정원소의 갯수를 세는 문제이다. - 나의 풀이 반복문을 통해 배열의 원소가 n이면 count값을 1씩 늘리는 방식으로 해결하였는데 다른방법들을 보니 더욱 쉽게 풀 수 있는 방법들이 보여 다양한 방법들을 생각하도록 해야겠다. function solution(array, n) { let count = 0; for(i=0;i < array.length;i++) { if(array[i] === n) { count ++; } } return count; } - 다른 풀이 filter를 사용해서도 문제를 풀 수 있다. 배열에 n의 원소만 따로 추출하여 새로운배열을 만들고 배열의 길이를 세면 된다. function solution(array, n) { var answer = 0; let Array =.. 2024. 2. 9.
[Level 0] # 배열 뒤집기 배열의 원소를 거꾸로 출력하는 새로운 배열을 만들면 되는 문제이다. - 나의풀이 배열의 원소를 역순으로 배치해서 새로운배열을 만들어 출력하면 된다. reverse를 몰라서 반복문이나 filter,map 등을 사용해보려고 했으나 잘 되지 않아서 검색 후 reverse를 알게되어 사용했는데 다른풀이에 비해 깔끔하게 역순으로 나타낼 수 있었다. function solution(num_list) { return num_list.reverse(); } - 다른 풀이 배열을 반복문을 통해 배열의 뒤에서부터 반대로 원소를 추가해나가면서 배열을 만든다. 따라서 역순으로 된 배열이 나타나는것을 볼 수 있다. function solution(num_list) { var answer = []; for(let i = num_.. 2024. 2. 9.
[Level 0] # 배열 원소의 길이 - 나의 풀이 map과 filter에 대해서 공부를 한 뒤여서 for문보다 map과 filter가 먼저 떠올랐다. 처음에는 filter을 사용해서 왜 안되는지 계속 생각했었는데 filter만 map으로 바꿔주니 바로 해결되었다... filter은 원래배열에서 필요한 요소만 골라내는것으로 기존 배열을 바꾸지 않는다. map은 원래배열에서 주어진 함수를 실행하여 새로운 배열을 만든다. 따라서 위의 문제에는 map이 더 적합하다고 볼 수 있다. 배열에서 자주 사용되는 함수는 알아두면 훨씬 문제해결을 쉽게 할 수 있으니 복습 또 복습해야겠다. function solution(strlist) { let answer = []; answer = strlist.map(strlist => strlist.length); .. 2024. 2. 4.
[JavaScript] 배열의 연산함수 map,filter,reduce 비교 및 사용 방법 자바스크립트에서 배열의 연산관련 함수 중 사용빈도가 높은 map,filter,reduce 함수에 대해 특징과 사용방법을 자세히 알아보고 비교해보도록 하자. 자세히 알아보기 이전에 간단하게 그림으로 보고 하나씩 자세히 알아보도록 하자 map map 함수는 배열 속 각각의 원소에 대해 어떤 특정한 작업을 할 때 사용하는 함수이다. map 함수의 문법은 다음과 같다. arr.map에 작동원리가 되는 함수를 넣어주면 새로운 배열을 만들어내고 그 배열을 output에 저장한다. let output = arr.map(function); ex) let output = arr.map(arr => arr * 2); // ES6 화살표 함수 사용 예시대로 하면 배열에 각 원소에 2를 곱하여 새로운 배열을 만든다. 배열에 .. 2024. 2. 4.
[Level 0] # 머쓱이보다 키 큰 사람 배열의 값들을 기준값과 비교해서 갯수를 세는 문제이다. 앞서 배웠던 반복문과 조건문을 사용하면 쉽게 해결할 수 있다. - 나의 풀이 count 변수를 선언하고 범위를 배열전체로 설정한 뒤 배열에 원소값이 기준값과 비교해서 클때만 count에 값을 1씩 더하도록 설정하였다. function solution(array, height) { let count =0; for(let i=0;i height) {count ++ } }; return count; } - 다른풀이 foreach,map,filter 등을 사용하여도 해결할 수 있다. foreach를 사용하면 풀 수 있다. function solution(array, height) { let count =0; array.forEach((element) => .. 2024. 2. 3.
[Level 0] # 배열의 평균값 배열의 평균값을 구하는 문제이다. 배열의 합을 구하고 배열의 수만큼 나누어 평균값을 구하면 된다. - 나의 풀이 1.배열의 합 구하기 반복문을 사용하여 배열의 수만큼 전부 더해주었다. 2.배열의 수로 나누기 배열의 수를 .length로 구하여 나누어주었다. function solution(numbers) { let answer = 0; let sum =0; for(i=0;i (acc+cur) ,0) acc는 cur은 콜백함수이며 acc는 누적된 값, cur은 처리중인 요소배열의 값이다.0은 초기값이고 배열의 값들을 하나씩 더해가면서 최종적으로 모든요소를 더한값을 나타낸다.따라서 reduce함수로 배열의 합을 구한 뒤 number.length로 배열의 길이를 구해 나누어 주어 평균값을 구하였다. funct.. 2024. 2. 2.
[Level 0] # 짝수의 합 - 문 제 n이하의 수를 모루 더해야 하므로 반복문을 사용해야 하고 짝수만을 더해야 하므로 조건문을 사용하면 된다. - 나의 풀이 1. n이하의 수 더하기 반복문 for를 사용해서 n이하의 수를 모두 더해보자. for(선언문;조건문;증감식) 으로 구성되고 for(let i=0;i 2024. 2. 2.
[Level 0] # 각도기 범위에 따라 각각 다른값을 출력하면 되는 문제이다. 조건이 여러개이므로 if else 문을 사용하면 쉽게 해결가능하다. 기본적인 풀이방법이고 더욱 간단하게 줄일 수 있다. 바로 삼항연산자를 사용하는 것이다 angle 값이 90미만이면 1, 90이면 2, 180미만이면 3, 이외에는 4를 출력하도록 삼항연산자를 사용하였다. 앞선 if-else문에 비해 코드가 훨씬 간결하고 보기 편하다. 비교문에서는 최대한 삼항연산자를 사용하여 풀어보도록 하자. 2024. 2. 2.
728x90
반응형