Skip to content

Comments

[JooKangsan] 25.01.02#3

Merged
JooKangsan merged 11 commits intomainfrom
JooKangsan
Jan 9, 2025
Merged

[JooKangsan] 25.01.02#3
JooKangsan merged 11 commits intomainfrom
JooKangsan

Conversation

@JooKangsan
Copy link
Collaborator

@JooKangsan JooKangsan commented Jan 2, 2025

배열

md 파일로 추가했습니다! 좀 기니 천천히 봐주세요!

📌 푼 문제

문제이름 문제링크
배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/120833
배열 원소의 길이 https://school.programmers.co.kr/learn/courses/30/lessons/120854
배열 회전시키기 https://school.programmers.co.kr/learn/courses/30/lessons/120844
중복된 숫자 개수 https://school.programmers.co.kr/learn/courses/30/lessons/120583
제일 작은 수 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12935
행렬의 덧셈 https://school.programmers.co.kr/learn/courses/30/lessons/12950
나누어 떨어지는 숫자 배열 https://school.programmers.co.kr/learn/courses/30/lessons/12910


📝 간단한 풀이 과정

배열 자르기

  • �slice 메서드를 사용해서 자른뒤 반환했습니다.
function solution(numbers, num1, num2) {
  var answer = [];
  answer = numbers.slice(num1, num2+1)
  return answer;
}

배열 원소의 길이

  • 각 배열의 원소에 접근해서 길이를 구한후 그 원소를 길이로 바꿔서 반환했습니다.
function solution(strlist) {
    return strlist.map(str => str.length);

배열 회전시키기

  • right 일경우 맨 끝에 걸 빼서 맨앞에 넣었고 left 일경우 맨 앞에걸 빼서 맨 뒤에 넣었습니다.
function solution(numbers, direction) {
  var answer = [];
  if(direction == "right"){
      numbers.unshift(numbers[numbers.length-1])
      numbers.pop();
  }else{
      numbers.push(numbers[0])
      numbers.shift();
  }
  answer = numbers
  return answer;
}

중복된 숫자 개수

  • 특정 요소의 중복된 숫자 갯수만 구하면 되니 filter메소드를 사용해서 풀었습니다.
function solution(array, n) {
  return array.filter(element => element === n).length;
}

제일 작은 수 제거하기

  • 가장 작은 수를 Math.min 메서드로 구한후 가장작은수를 빼는 filter를 사용해서 풀었습니다.
function solution(arr) {
  var answer = [];

  if (arr.length === 1) return [-1];

  const min = Math.min(...arr);
  answer = arr.filter((num) => num !== min);
  return answer;
}

행렬의 덧셈

  • for문을 사용하여 각 행렬의 같은 위치 요소들을 더해서 새로운 행렬을 반환했습니다.
function solution(arr1, arr2) {
  const answer = [];

  for(let i = 0; i < arr1.length; i++) {
      const row = [];
      for(let j = 0; j < arr1[0].length; j++) {
          row.push(arr1[i][j] + arr2[i][j]);
      }
      answer.push(row);
  }

  return answer;
}

나누어 떨어지는 숫자 배열

  • filter로 나누어 떨어지는 숫자를 걸러내고, 걸러낸 숫자를 sort로 정렬했습니다
function solution(arr, divisor) {
  const answer = arr.filter(num => num % divisor === 0).sort((a, b) => a - b);
  return answer.length ? answer : [-1];
}

나머지 세문재도 풀어서 나중에 추가하겠습니다!

@JooKangsan JooKangsan self-assigned this Jan 2, 2025
@JooKangsan JooKangsan requested review from imchanyo and yulrang January 2, 2025 11:58
Copy link
Collaborator

@yulrang yulrang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shift, unshift, slice 등 제가 생각하지 못했던 다양한 메소드들을 활용해서 간결하게 써주셨어요~~~ 수고하셨습니다~!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Math.min함수에 스프레드 연산자를 사용할 수있군요.
배워갑니다.

@JooKangsan JooKangsan merged commit 1b82499 into main Jan 9, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants