오늘의 기록:
입출력에 이제 적응하고 조금은 난이도 있는 문제에 도전해보고자 한다.
1. 기본적인 사칙연산부터
나를 당황하게 만든 1001번문제..
기존의 내 풀이는 다음과 같다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('');
let number = Number(input);
console.log(number[0]-number[1]);
이렇게 하니 틀렸습니다! 하고 나온다... 분명 A+B와 사칙연산 부호만 다르고 다 똑같이 작성한건데.. 그래서 블로그를 참고해서 조금 수정했더니 런타임 오류가 나와버린다. 이건 변수를 끝까지 안바꾼 내 잘못이 맞고,, 다음과 같은 코드도 정답이 틀렸다고 나와서 너무 의아했다..
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('');
let a = parseInt(input[0]);
let b = parseInt(input[1]);
console.log(a-b)
//호옥시 ; semi-colon 문제인가 했는데 전혀 영향없이 바로 땡이다..ㅋㅋㅋㅋ
정답코드는 다음과 같다.
const fs = require('fs');
const inputData = fs.readFileSync("/dev/stdin").toString().split(" ");
const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);
console.log(A-B);
차이점을 찾아보면 쌍따옴표와 const 선언인데, const로 선언하는게 결정적으로 다른 결과를 만드는 것 같아 계속 변화되어야하는 값이 아니라면 const로 받아오는게 일단 좋을 것 같다는.. 단편적인 생각이 든다. 그런데 이후 문제들을 풀다보니 const와 let의 차이는 아닌 듯 하고... 일단 깊이 생각하지않고 다음 문제들을 쭉쭉 풀어나갔다.
사실상 1주차에 다 했어야하는 것들을 지금하고 있는데, 매일 꾸준히해서 이번에는 진도를 좀 나갔다.
2.푼 문제들의 목록 및 시행착오
2588번 - 곱셈
2557번 -
이 문제는 조금 신선했다. 어렵지는 않았지만
초등학교 때 곱셈을 배우면서 수를 나열했던 기억이 새록새록 생각나는 문제였다.
10869번
10998번
이렇게 적은 문제지만 쌓여가는게 기분이 좋고, 우연이겠지만 나의 풀이를 열어본 사람이.. 있다는 알림이 왔다. 어려운 문제를 풀게되면 열어보는 사람이 꽤 나올 것 같아서 기대되기도 한다(아직 한참 멀었지만 말이다..ㅋㅋㅋ)
9498번 - 시험성적
let fs = require('fs')
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
data = Number(input[0]);
function grade(a) {
if(90 <= a && a <= 100) console.log('A');
else if (80<= a ) console.log('B');
else if (70<= a ) console.log('C');
else if (60<= a ) console.log('D');
else console.log('F');
}
grade(data);
10점을 기준으로 A부터 F까지 분류하는 단순한 조건문 문제이다. 다만, 이 코드를 올린 이유는 이렇게 함수를 생성해서 해당 함수에 읽어온 값을 대입한 것을 리턴하도록 만들어서 제출해야하는 것을 보여주기 위함이다.
그리고나서, 조건문에서 비교적 쉬운 문제를 풀었다.
2884번인데 사실 풀다가 RuntimeError가 엄청나게나서 고생하였다.
ReferenceError가 나는 것은 변수를 선언한 것과 사용한 것의 이름이 달라서였는데 이런 하찮은 곳에서 실수를 하지 않도록 차분하게 살펴보아야한다.
다음 주에는 더 에러가 적고 많은 문제를 풀어서 폭넓게 학습할 수 있도록 해야겠다.
https://fastcampus.co.kr/dev_online_upjscodingtest
UPSKILL : Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기 | 패스트캠퍼스
25시간 대비 과정 / '코테 레전드' 유튜버 강사님께 핵심만 배우고 빠르게 합격하세요.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'study > Challenge' 카테고리의 다른 글
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 4주차 (0) | 2023.05.10 |
---|---|
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 3주차 (1) | 2023.05.02 |
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 1주차 (2) | 2023.04.19 |
[Challenge / day-30] 컴포넌트 만들기 - 그룹생성 컴포넌트 (0) | 2023.03.21 |
[Challenge / day-29] CSS flex (2) | 2023.03.20 |