코딩 테스트 60

[코딩테스트/javaScript] 3진법 뒤집기

어떻게든 패턴 찾고싶어서 공책 펴놓고 이것저것 다 써봤다.............그렇게 찾은 패턴십진수에서 3으로 계속 나누면서 생기는 나머지들 + 마지막으로 나눠지는 수를 이으면 삼진법 뒤집은 모양임for (let i=0; n>=3; i++) { arr.push(n%3) n = Math.floor(n /= 3); } arr.push(n);우선 삼진수로는 만들었다. 그런데 다시 십진수로 만드는 게 또 난관이다.우선 내가 세운 식은,arr[(arr.length-1)-j] * (3 ** j)인데,//예시인 125의 3진수를 뒤집으면 22111이다.let index = arr.length-1; //이라고 가정했을 때//자릿수 * 3의 x제곱arr[index-0] * (3**0..

[코딩테스트/javaScript] 최대공약수와 최소공배수

function solution(n, m) { let answer = []; // 최대공약수 for (let i=n; i우선 최대공약수는 n,m 중 작은 수만큼만 확인하면 돼서, i의 크기를 둘중 아무거나로 지정했다.n과 m의 차가 어마무시하다면 시간이 오래 걸리기 때문에 비교까지 해준 다음에 더 작은 수로 정확히 넣었을듯그리고 최대를 찾는 거기 때문에 하나씩 빼주는 형태로 반복했고,n과 m의 공통된 약수일 때 break를 걸어 가장 큰 약수 하나만 추출하도록 했다. 최소공배수도 마찬가지.최소니까 1부터 시작했고, 최대치로 커봤자 n*m이니까 조건을 그렇게 걸었다.if 조건문에 부합하면 break 걸어서 제일 작은 공배수 추출

[코딩테스트/javaScript] 직사각형 별 찍기

function solution(n,m) { let row = '*'.repeat(n) + '\n'; let col = row.repeat(m).trim(); return col;}기본 틀로 처음 보는 게 너무 많이 나와있길래 기본 함수 틀로 변경해서 풀어보았다.그런데 계속 오류가 나고..... 틀이 있는 이유가 있었다.....process.stdin.setEncoding('utf8');process.stdin.on('data', data => { //입력받은 숫자를 'data에 받는다' const n = data.split(" "); // 받은 데이터를 배열로 바꾼다 const a = Number(n[0]), b = Number(n[1]); // a가 문제의 n, b가..

[코딩테스트/javaScript] 약수의 개수와 덧셈 ⭐️⭐️

function solution(left, right) { let num = []; let answer = 0; for (let i=left; i  너무 구구절절 쓴 것 같아서 다른분들의 답을 봤는데 새로운 사실을 알았다. 어떤 수의 제곱근이 정수면, 약수가 홀수개라는 사실....근데 생각해보면 당연하다 중간값이 제곱이 돼야하니까 홀수개일 수밖ㅇ...ㅔ코드카타 풀면서 어쩌면 당연한 건데 인지하지 못했던 것들을 알게될 때마다 너무 좋다그래서 제곱근을 알아내는 Math.sqrt(v) 함수와, 정수를 구분하는 Number.isInteger 함수를 함께 써주면 훠어어얼씬 간단한 답이 된다!function solution(left, right) { let answer = 0; ..