git 왜 이렇게 어렵지... 정말 다양한 오류들을 마주하고 있다...
분명 push 직전에 pull을 마치고 했다고 생각했는데 한 줄이 엎어쳐져서 당황했다..ㅠㅠ
git에 API 키 가려서 올리는 방법 -> .gitignore
무시할 파일 이름과 경로 적어두면 됨
그리고 "Changes not staged for commit" 오류 발생
해결하기 위해 이유를 알아보니 경로가 달라서 변경된 파일을 인식하지 못해 발생하는 오류라는 듯... 깃 폴더 새로 열어서 커밋하니까 해결되었다.
영화 정보와 예고편 정보가 다른 데이터에 들어있었다 ㅠㅠ 둘 다 불러오기 위해 API 두 개를 한 fetch에서 사용하는 방법에 대해 공부 :
Promise.all
두 요청을 동시에 실행하고, 두 요청의 응답이 모두 완료되면 결과를 처리. 각 응답은 JSON으로 변환되고, 최종적으로 콘솔에 출력.
1) 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
//내가 짠 코드
let solution = x => {
let str = `${x}`;
let sum = str.split('').map(Number).reduce((before, curr)=>before+curr,0);
if(x%sum){
return false;
} else return true
}
//다른 사람 코드 (속도우선)
function solution(x) {
let num = x;
let sum = 0;
do {
sum += x%10;
x = Math.floor(x/10);
} while (x>0);
return !(num%sum);
}
//다른 사람 코드 (한 줄)
function Harshad(n){
return !(n % (n + "").split("").reduce((a, b) => +b + +a ));
}
한 줄짜리 코드와 비슷하게 접근하긴 했는데 +b +a처리로 바로 정수로 바꿔버린 건 신기했다. 나는 중간에 map을 추가했는데...
그리고 사실 저렇게 형변환해서 쪼개는 것보다 두번째 코드처럼 숫자형 그대로 더하는 게 더 빠르다고 한다. (당연함)
2) 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
//내가 짠 코드
let solution = (a,b) => {
let min = a-b<0?a:b;
let max = a-b<0?b:a;
let sum = max*(max+1)/2 - (min-1)*(min)/2;
return sum;
}
//다른 사람 코드
function adder(a, b){
var result = 0
//함수를 완성하세요
return (a+b) * (Math.abs(a-b)+1) / 2;
}
//다른 사람 코드 (for)
function adder(a, b, s = 0){
for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
return s;
}
min과 max로 바로 최소/최대를 뽑아낼 수 있다는 걸 알았다...