패스트캠퍼스 JavaScript 코딩테스트 강의 2주차

meek·2023년 4월 29일
0

Algorithm

목록 보기
11/11

곱셈문제

  • 문제 풀이 아이디어
    • JavaScript를 이용해 정수를 처리해야한다.
    • 이를 위해, 입력 받은 문자열 데이터를 정수로 변환해야 한다.
    • 이후에 곱셈을 수행한결과를 출력한다.
    • fs 모듈을 이용해 특정 파일에서 문자열을 읽어올 수 있다.
  // fs모듈을 이용해 파일 전체를 읽어와 문자여로 저장하기
  let fs = require('fs');
  let input = fs.readFileSync('/dev/stdin').toString().split('\n');

  // 첫째 줄의 데이터를 공백 기준으로 나누기
  data = input[0].split(' ');

  a = Number(data[0]);
  b = Number(data[1]);

사칙연산

  • JavaScript에서 나누기 연산(/)을 수행하면 실수 데이터가 반환될 수 있기 때문에 몫을 구하기 위해서는 parseInt()를 사용해야 함

세 자리 수 * 세 자리 수

👉 문제

  • 문제 풀이 아이디어
    • 세 자리 수 두 개가 주어진다.
    • 문자열로 처리하면, 각 자릿수를 손쉽게 얻어 처리할 수 있다.
      1. 입력 데이터: "872"
      2. 일의 자리 문자: "2", 십의 자리 문자: "7", 백의 자리 문자:"8"
      3. 이후에 Number() 함수를 이용해 각 문자를 정수 데이터로 변환한다.
  let fs = require('fs');
  let input = fs.readFileSync('/dev/stdin').toString().split('\n');

  let a = input[0];
  let b = input[1];

  x_1 = b[2]; //일의 자리
  x_2 = b[1]; //십의 자리
  x_3 = b[0]; //백의 자리

  console.log(Number(a) * Number(x_1));
  console.log(Number(a) * Number(x_2));
  console.log(Number(a) * Number(x_3));
  console.log(Number(a) * Number(x_b));

시험문제(조건문)

👉문제

// fs 모듈을 이용해 파일 전체를 읽어와 문자열로 저장하기
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');

data = Number(input[0]);

function check(a) {
    if (90<= a && a <= 100) console.log('A');
    else if (80 <= a && a <=89) console.log('B');
    else if (70 <= a && a <=79) console.log('C');
    else if (60 <= a && a <=69) console.log('D');
    else console.log('F');
}

check(data);

알람시계(조건문)

👉문제

  • 문제 풀이 아이디어
    1. 현재 시각이 주어졌을 때, 45분을 감소시킨다.
    2. 0분보다 작아지면, 시(hour)가 1시간 감소한다.
    3. 0시보다 작아지면, 시(hour)가 23시로 초기화된다.
  let fs = require('fs');
  let input = fs.readFileSync('/dev/stdin').toString().split('\n');

  let hour = Number(input[0].split(' ')[0]);
  let minute = Number(input[0].split(' ')[1]);

  if (minute < 45) {
      hour -= 1;
      minute += 15;
      if(hour < 0) hour = 23;
  } 
  else minute -= 45;

  console.log(hour + " " + minute);

오븐 시계

👉문제

  • 문제 풀이 아이디어
  • 입력: A시 B분
  • 걸리는 시간: C분

[문제 해결 방법]
1. 입력으로 주어진 시각을 "분"의 형태로 바꾸기
2. "분"이 주어졌을 때, 시각을 알려주는 기능을 작성하기

[예시]

  • 입력: (17시 40분 + 80분) = (1060분 + 80분) = 1140분
    1. 1140를 1440으로 나눈 나머지를 취하기: 1140분
    2. 이때, 60으로 나눈 몫을 시(hour)로 취하기: 19시
    3. 이때, 60으로 나눈 나머지를 분(minute)으로 취하기: 0분
  let fs = require('fs');
  let input = fs.readFileSync('/dev/stdin').toString().splie('\n');

  let [a, b] = input[0].split(' ').map(Number);
  //input의 첫번째 값을 공백을 기준으로 배열로 나눈 후, 각 배열을 map 메서드를 이용에 숫자로 바꿔서 [a,b]에 return
  let c = Number(input[1]);

  let totalMinute = a * 60 + b + c; // 분의 형태로 바꾸기
  totalMinute %= 1440;
  let hour = parseInt(totalMinute / 60);
  let minute = totalMinute % 60;

  console.log(hour + " " + minute);

주사위 세개

👉 문제



https://fastcampus.co.kr/courses/215877/clips/

#패스트캠퍼스 #패캠 #FASTCAMPUS #자바 #자바스크립트 #파이썬 #코딩테스트 #패스트캠퍼스후기
#코딩교육 #코딩자격증

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

profile
hello, world!

0개의 댓글

관련 채용 정보