36일차 - 2022.04.05

안병욱·2022년 4월 5일
0

오늘 공부한 내용 요약


Baekjoon에서 문제풀이

1) 문제 : 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다.
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)


고민과정

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');

let A = Math.floor(parseInt(input[0].split(' '))); 
let B = Math.floor(parseInt(input[1].split(' ')));

어제 고민해본 결과 if문쪽은 맞는것 같다고 생각해 선언쪽을 중점으로 고민했고 위의 코드에서 어떻게 고쳐야 할지 생각.
A와 B가 빈칸을 두고 순서대로 주어진다고 했으므로 input의 다른 값에서 split으로 배열로 만드는것이 아닌 같은값에서 파생되어야 된다고 생각이 들어 아래와 같이 시도
여러번 해보다가 안되서 이게 아닌가 하다 c를 선언중에 A,B에서 input[0]을 했으므로 input[2]가 아닌 1을 넣으니 해결. 순차적으로 되어야 함을 알게됨.


풀이
1.

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');

let A = Math.floor(parseInt(input[0].split(' ')[0])); 
let B = Math.floor(parseInt(input[0].split(' ')[1]));
let C = Math.floor(parseInt(input[1]));
let d = Math.floor((B+C)/60);

if (A>=0 && A<=23 && B>=0 && B<=59 && C>=0 && C<=1000 ) {
    if(B + C <=59 ){
       console.log(`${A}` + " " + `${B+C}`);
       } else if (A+d<=23 && B + C >=60) {
        console.log(`${A+d}` + " " + `${(B+C)%60}`);          
       } else if (A+d >=24 && B+C >=60){
           console.log(`${A+d-24}` + " " + `${(B+C)%60}`);
       }
}

2) 문제 : N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력형식과 같게 N1부터 N9까지 출력한다.
ex) 2입력시 2 * 1 =2 이런식으로 쭉 출력되야함


고민과정

const fs = require('fs');
const input = readFileSync('/dev/stdin').toString().trim().split(' ');

const N = Math.floor(parseInt(input[0]));

if (N>=1 && N <= 9){
    for(let i=1; i <10 ; i++) {
        console.log(`${N} * ${i} = ${N * i}`);
    }   
}

어렵지 않게 위의 코드로 정답일 줄 알았으나 오답이였고 해결 고민중.


하루 돌아보며

  • 그동안 풀어봤던 문제들의 다른 풀이로 찾아보려고 고민을 하며 몇가지 방법으로 시도해보고, 공부는 했었지만 이해하는게 우선이였어서 직접 코드를 고민하면서 많이 짜보진 못했는데 비록 아직 풀이로 이어지는데 성공하진 않았지만 조금더 가까워진(?) 느낌이 들었음.
  • 계속 미뤄지는데 요새 기본서에 매우 소홀함. 분발 요망

만족도 : ★☆☆☆☆

공부 출처

BaekJoon


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다

profile
working hard

0개의 댓글