오늘은 친척들이 집으로 돌아갔다.
좀 쉬다가 문제를 풀기 위해 노트북 앞에 앉았다...
문제 1152번
https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
이 문제는 공백을 기준으로 한 줄을 입력받은 후 그 배열의 길이를 출력해 주면 될 것 같다.
...
그런데...


오잉??????
왜 틀렸는지 보다가 다른 풀이를 보고 알았다.
아무것도 안 적힌 입력값이 들어올 수 있기 때문에 '' 만 들어왔을 때 split된 배열에는 [ '' ]만 들어가게 된다고 한다.
그래서 '' 가 입력값으로 들어오면 0이 출력되도록 만들어주면 된다.
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString().trim().split(' ');
console.log(input[0] === '' ? 0 : input.length);

[참고] https://dpsc615.tistory.com/49
문제 2908번
https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
공백을 기준으로 입력받은 후에 각각의 값을 ''를 기준으로 나눈 후 역순으로 정렬!!
그리고 ''를 기준으로 다시 붙여주면 될 것 같다.
출력할 때는 비교를 해서 A가 더 크면 A를, B가 더 크면 B를 출력한다.
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString().split(' ');
const A = Number(input[0].split('').reverse().join(''));
const B = Number(input[1].split('').reverse().join(''));
console.log(A>B ? A : B);

으... 너무 졸리다...
오늘은 여기까지 해야겠다.
그래도 내일은 문자열 단계를 끝낼 수 있을 것 같다.
'백준 > JavaScript' 카테고리의 다른 글
[JS] 백준 심화 1 - 첫 번째 이야기 (0) | 2024.01.23 |
---|---|
[JS] 백준 문자열 - 마지막 이야기 (0) | 2024.01.22 |
[JS] 백준 문자열 - 네 번째 이야기 (0) | 2024.01.21 |
[JS] 백준 문자열 - 세 번째 이야기 (0) | 2024.01.19 |
[JS] 백준 문자열 - 두 번째 이야기 (0) | 2024.01.18 |