눈이다~~~~~~~~~
오늘은 너무 춥다.
드디어 문자열 마지막 이야기이다 ㅎㅎ.
빨리 풀고 다음 단계로 넘어가야지~~~
문제 5622번
https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
이 문제는 해당 알파벳들이 어떤 숫자에 해당하는지 정해준 다음 시간이 얼마나 걸리는지 구하면 될 것 같다.
그런데 어떤 식으로 작성할지 모르겠어서 다른 풀이를 공부하고 내가 따로 작성해 봤다.
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString();
let dial = {
ABC: 3,
DEF: 4,
GHI: 5,
JKL: 6,
MNO: 7,
PQRS: 8,
TUV: 9,
WXYZ: 10,
};
let time = 0;
for(let i=0;i<input.length;i++){
for(let n in dial){
if(n.includes(input[i])){
time+=dial[n];
}
}
}
console.log(time);

일단 각 알파벳에 해당하는 걸리는 시간을 짝지어 변수에 넣어준다. 그리고 입력값과 dial에 있는 알파벳과 비교하여 해당 입력값이 포함되어 있으면 time 변수에 걸리는 시간을 더해준다. 그렇게 입력값들을 다 비교해 본 후 time을 출력해 주면 된다.
[참고] https://velog.io/@jc15853/JavaScript-%EB%B0%B1%EC%A4%80-5622%EB%B2%88-%EB%8B%A4%EC%9D%B4%EC%96%BC
문제 11718번
https://www.acmicpc.net/problem/11718
11718번: 그대로 출력하기
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시
www.acmicpc.net
입력받은 값을 그대로 출력하라고??
뭔가... 함정이 있나...?
그래... 33.005 %만 맞췄으니까... 함정이 있을 것이다!

이건 틀림없다!!!
...
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString().split('\n');
console.log(input.join('\n'));

??????
뭐지??

...
우... 우와~~
맞췄다~~~~~
(함정은 없었다...)
믿어지지 않아서 다른 풀이도 찾아보니 input에 입력받고 그 input을 그대로 출력한 분도 있었다.
나도 그렇게 하려고 하다가 안 했는데...
그냥 할걸...
심지어 \n를 기준으로 입력을 안 받아도 되는데...
ㅎㅎ... 너무 의심해 버렸다.
다음에는 생각나는 풀이를 일단 해봐야겠다.
그렇게 오늘은 문자열 단계 마지막 문제를 풀었다.
다음에는 심화 1 단계이다.
드디어...
좋았어! 가자~~~~~~~!!!!(내일)
'백준 > JavaScript' 카테고리의 다른 글
[JS] 백준 심화 1 - 두 번째 이야기 (0) | 2024.01.24 |
---|---|
[JS] 백준 심화 1 - 첫 번째 이야기 (0) | 2024.01.23 |
[JS] 백준 문자열 - 다섯 번째 이야기 (0) | 2024.01.21 |
[JS] 백준 문자열 - 네 번째 이야기 (0) | 2024.01.21 |
[JS] 백준 문자열 - 세 번째 이야기 (0) | 2024.01.19 |