SangYoonLee (SYL)
◆ Slow, But Steady ◆
SangYoonLee (SYL)
전체 방문자
오늘
어제
  • ◻ 전체 글 수 : (128)
    • ✪ 취미, 경험 회고 및 일상 (25)
      • [취미] Room Escape (2)
      • [회고] IT 관련 경험 회고 (17)
      • [일상] 일상 생각 (4)
      • [일상] 독후감 (1)
    • ◼ FrontEnd (27)
      • Web & HTML, CSS (8)
      • JavaScript (2)
      • 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
  • 🧩 온라인 방탈출 출시 작품 모음

인기 글

최근 글

공지사항

반응형
hELLO · Designed By 정상우.
SangYoonLee (SYL)

◆ Slow, But Steady ◆

◼ PS Note/백준

[백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)

2023. 1. 21. 00:38
반응형

문제 바로 가기

 

25304번: 영수증

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것

www.acmicpc.net

 


풀이

  • 사용 언어 : JavaScript
  • 풀이한 날짜 : 2022-12-13
const fs = require("fs");
// let input = fs.readFileSync("./input.txt", "utf8").toString().trim();
let input = fs.readFileSync("/dev/stdin", "utf8").toString().trim();

input = input.split("\n");
let inputTestCase = input.map((item) => item.split(" "));
// int로 전환
inputTestCase = inputTestCase.map((item) => item.map((item) => Number(item)));

function solution(inputTestCase) {
  const x = inputTestCase[0][0];
  const n = inputTestCase[1][0];
  let totalPrice = 0;

  for (let i = 2; i < n + 2; i++) {
    let [price, amount] = inputTestCase[i];
    totalPrice += price * amount;
  }

  console.log(totalPrice === x ? "Yes" : "No");
}

solution(inputTestCase);

 

풀이 로직

  • ((각 물건의 가격) * (수량))의 전체 누적 합(반복문 사용)이 총 금액과 같은 지 비교한다.

 

문제 접근 과정 및 느낀점

  • 문제 풀이보다 입출력값 정제 및 오류 해결이 훨씬 더 어려웠던 문제였다.
  • 특히 input 변수를 const로 선언해놓고 재할당을 해버리는 바람에 TypeError가 발생하여 맞왜틀을 오래 시전했다.
    • 결국 (백준에 처음으로) 질문글을 올려 잘못을 찾았다. (https://www.acmicpc.net/board/view/105431)

 

  • 자바스크립트로 알고리즘 문제를 푸는 것에 익숙해지는 과정이라 생각하자.
  • 대신 같은 실수를 반복하지 않도록 명확히 짚고 기록하고 넘어가자.

 

반응형

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

[백준] 1026번 : 보물 (🥈실버 4) (Python)  (0) 2023.01.22
[백준] 1652번 : 누울 자리를 찾아라 (🥉브론즈 1) (JavaScript)  (0) 2023.01.21
[백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)  (0) 2023.01.21
[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)  (2) 2023.01.21
[백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)  (0) 2023.01.21
    '◼ PS Note/백준' 카테고리의 다른 글
    • [백준] 1026번 : 보물 (🥈실버 4) (Python)
    • [백준] 1652번 : 누울 자리를 찾아라 (🥉브론즈 1) (JavaScript)
    • [백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)
    • [백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)
    SangYoonLee (SYL)
    SangYoonLee (SYL)
    Slow, But Steady Wins The Race 😎

    티스토리툴바