43일차 - 2022.04.14


Baekjoon에서 문제풀이

1) 문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. 각 테스트 케이스마다 A+B를 출력한다. (0 < A, B < 10)


고민과정

이리저리 해보고 예시 만들어서 혼자 해보고 했는데

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

let T = parseInt(input[0]);

for(let i=1; i<= T; i++) {
    let A = parseInt(input[i].split(' ')[0]);
    let B = parseInt(input[i].split(' ')[1]);
    
    console.log(A+B);
}

위의 코드가 틀린거 없는거 같은데 안되는걸 보니 접근방식 자체를 달리해야 될거 같은데 아직 모르겠음



2) 문제 : 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.

고민과정
풀이 자체는 어려운 문제는 아니지만 시간초과를 해결했어야 했는데 문자열에 한번에 출력시켜야 한다고 하여 우선 문자열 하나를 선언해두고 이런저런 방식 시도해봄.

풀이
1.

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

let N = parseInt(input);
let a = '';

if (0<= N <=100000) {
  for(let i=1;i<=N ; i++) {
      a += `${i} \n`;
  }
   
} console.log(a);

예전부터 반복문을 사용시 출력내용을 한번에 보여줄 수 없을까 생각해서 시도해보다 찾지 못해 적어두기만 했던 것을 실현하면 됐었는데

문자열인 a를 선언하고 하나씩 줄바꿔 출력해야 하므로 \n을 쓸 생각을 했음. 그리고 for 문에서 a+=이 아닌 a= 으로만 하면 출력문은 N 하나만 출력됨.

공부 출처

BaekJoon


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

좋은 웹페이지 즐겨찾기