[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)

2023. 1. 21. 00:38·◼ PS Note/백준
반응형

문제 바로 가기

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net

 


풀이

  • 사용 언어 : JavaScript
  • 풀이한 날짜 : 2022-12-09
// 입력받기
const fs = require("fs");
let input = fs.readFileSync("/dev/stdin", "utf8");
// let input = fs.readFileSync("./input.txt").toString();
input = input.split("\n");

// 입력값 정제
const [n, m] = input[0].split(" ");

let newMatrixA = [];
let newMatrixB = [];

for (let i = 1; i < input.length; i++) {
  let newArr = input[i].split(" ");

  newArr = newArr.map((item) => Number(item));

  if (i <= n) {
    newMatrixA.push(newArr);
  } else {
    newMatrixB.push(newArr);
  }
}

// 풀이
function solution(n, m, newMatrixA, newMatrixB) {
  const answerMatrix = [];

  for (let i = 0; i < n; i++) {
    answerMatrix.push([]);
    for (let j = 0; j < m; j++) {
      answerMatrix[i].push(newMatrixA[i][j] + newMatrixB[i][j]);
    }
  }

  return answerMatrix;
}

// 출력
let answerStr = "";
let answerMatrix = solution(n, m, newMatrixA, newMatrixB);

for (let i = 0; i < n; i++) {
  for (let j = 0; j < m; j++) {
    answerStr += `${answerMatrix[i][j]} `;
  }
  answerStr += `\n`;
}

console.log(answerStr);

 

풀이 로직

  • 두 행렬을 2차원 배열에 각각 저장한 후 반복문을 통해 인덱스를 순회하여 각 원소를 서로 더한다. 더한 값은 새로운 배열에 저장한 후 출력해준다.

 

문제 접근 과정 및 느낀점

  • 처음 자바스크립트로 알고리즘을 풀어보았는데, 입출력 과정이 많이 까다로웠다. 앞으로 더 많은 연습을 해야할 것 같다.

 

반응형

'◼ PS Note > 백준' 카테고리의 다른 글

[백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)  (2) 2023.01.21
[백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)  (0) 2023.01.21
[백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)  (0) 2023.01.21
[백준] 1152번 : 단어의 개수 (🥉브론즈 2) (Python)  (0) 2023.01.21
[백준] 1978번 : 소수 찾기 (🥈실버 4) (Python)  (2) 2023.01.21
'◼ PS Note/백준' 카테고리의 다른 글
  • [백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)
  • [백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)
  • [백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)
  • [백준] 1152번 : 단어의 개수 (🥉브론즈 2) (Python)
SangYoonLee (SYL)
SangYoonLee (SYL)
Slow, But Steady Wins The Race 😎
    반응형
  • SangYoonLee (SYL)
    ◆ Slow, But Steady ◆
    SangYoonLee (SYL)
  • 전체
    오늘
    어제
    • ◻ 전체 글 수 : (132)
      • ✪ 취미, 경험 회고 및 일상 (26)
        • [취미] Room Escape (2)
        • [회고] IT 관련 경험 회고 (18)
        • [일상] 일상 생각 (4)
        • [일상] 독후감 (1)
      • ◼ FrontEnd (30)
        • Web & HTML, CSS (9)
        • JavaScript (4)
        • TypeScript (1)
        • ReactJS (16)
      • ◼ CS (3)
        • 자료구조 & 알고리즘 (1)
        • 컴퓨터 구조 (1)
        • 운영체제 (1)
      • ◼ PS Note (40)
        • 백준 (38)
        • 프로그래머스 (2)
      • ◼ IT Etc. (33)
        • (Until 2021) (21)
        • Python (6)
        • C | C# | C++ (1)
        • Git (1)
        • Unity (4)
        • Game Dev. (0)
  • 블로그 메뉴

    • 홈
    • 💻 GitHub
    • 🟢 Velog
    • 🧩 온라인 방탈출 출시 작품 모음
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    코드숨
    CodeSoom
    pygame
    개인 프로젝트
    C++
    Component
    알고리즘
    주간 회고
    위코드
    방탈출고사
    1929
    JavaScript
    유니티
    unity
    wecode
    관심사의 분리
    Python
    더라비린스
    후기
    소수 구하기
    미궁 게임
    프로그래머스
    리엑트
    프로젝트
    회고
    파이썬
    React
    코딩 일기
    Cpp
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SangYoonLee (SYL)
[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)
상단으로

티스토리툴바