본문 바로가기

백준/JavaScript

[JS] 백준 반복문 - 첫 번째 이야기

728x90

 

오늘은 드디어 반복문 차례이다~~

좋아, 시작해 볼까??

 

 

문제

https://www.acmicpc.net/step/3

 

반복문 단계

코딩 공부를 잘 하여 이렇게 long long long long...을 칠판에 적는 일이 없도록 합시다.

www.acmicpc.net

 

 

 

 

 

문제 2739번

https://www.acmicpc.net/problem/2739

 

2739번: 구구단

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

www.acmicpc.net

 

구구단을 외자~ 구구단을 외자~

반복문을 1부터 9까지 돌려주면 되겠구만 ㅎㅎ

 

const fs = require('fs');

//백준에 제출할 때 써야하는 코드
const readFileSyncAdress = '/dev/stdin';

//테스트
//const readFileSyncAdress = 'input.txt';

const input = fs.readFileSync(readFileSyncAdress).toString();
const num = Number(input);

for(let i = 1; i<=9; i++){
    console.log(num + ' * ' + i + ' = ' + num*i);
}

 

 

처음에 Number로 안 해줬더니 '출력 형식이 잘못되었습니다'가 나왔다.

그리고 찾아보니까 이 부분을 

console.log(num + " * " + i + " = " + num*i);

 

이런 식으로 바꿀 수도 있다.

console.log(num, "*", i, "=", num*i); 

 

-> 덧셈 기호(+)로 문자를 나열하면 띄어쓰기를 직접 입력해줘야 하고, 쉼표(,)로 나열하면 자동으로 띄어쓰기가 된다고 한다.

 

 

 

 

 

문제 10950번

https://www.acmicpc.net/problem/10950

 

10950번: A+B - 3

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

이번에는 저번에 썼던 줄을 기준으로 먼저 입력받고 다음에는 입력받은 것을 공백 기준으로 나눠서 변수에 넣는 방법을 사용하면 될 것 같다.

그런데... input[i].split(' ')[0] 여기에서 [0] 이것을 붙이는 것을 깜빡했다 ㅎㅎ.

다시 전에 썼던 블로그를 찾아서 작성하였다.

 

const fs = require('fs');

//백준에 제출할 때 써야하는 코드
const readFileSyncAdress = '/dev/stdin';

//테스트
//const readFileSyncAdress = 'input.txt';

const input = fs.readFileSync(readFileSyncAdress).toString().split('\n');
let T = input[0];
let A,B;
for(let i = 1; i<=T; i++){
    A = parseInt(input[i].split(' ')[0]);   //parseInt를 안 해주면 A,B로 출력됨
    B = parseInt(input[i].split(' ')[1]);
    console.log(A+B);
}

 

 

입력을 문자열로 받기 때문에 parseInt로 정수를 만들어주고 덧셈을 해줘야 한다.

 

 

 

오늘은 자잘하지만 알아야 할 것을 알게 된 것 같다.

ㅎㅎ 반복문도 얼른 끝내버리자~~~

 

 

 

[참고]
https://velog.io/@rkio/%EB%B0%B1%EC%A4%80-Javascript-2739
728x90