본문 바로가기

실천하기46

[220108] Lv.1 / 하샤드의 수 문제 사이트 : https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 내 풀이 let num=10; function solution(num){ let arr = new String(num); let len=arr.length; let sum=0; let answer=true; for(let i=0; i0); return !(num%sum) //나머지가 0일경우 true를 반환, 아닐 경우.. 2022. 1. 8.
[220107] Lv.1 / 핸드폰 번호 가리기 해당 문제 주소 : https://programmers.co.kr/learn/courses/30/lessons/12948 splice를 사용해보려고했는데, 문자열이라서 사용이 안된다고한다. 배열만 가능하대. 아 그럼 배열로 만들어. for문만 사용해서 풀기 let phone="01033334444" let phoneArr=[] for(let i=0; i 2022. 1. 7.
[220105] Lv.2 피보나치 수열 / 메모이제이션으로 풀기 수업중에 피보나치 수열의 예제로 나왔던 문제. 꾸역꾸역 일단 풀음. 손에 익히는게 먼저야. 교수님 답변 let num=[]; //계산한 결과값 저장 //첫번재 원소값 1, 두번째 원소값 2 function fibo2(n){ //조건1 if(num[n] > 0) { return num[n]; //조건2 } else if(n===1 || n===2) { return num[n]=1; //조건1이랑 조건2는 중요도가 같아서 뒤바뀌어서 시간복잡도 상관 ㄴㄴ } else { return num[n] = fibo2(n-1) + fibo2(n-2); } } 이건 내가 문제를 한번 풀고 기억을 더듬어서 풀어본 방법 function solution(n) { let answer = []; //확률적으로 값이 0~2인것보다.. 2022. 1. 5.
[220104] 코테 Lv.1 / 행렬의 덧셈 문제인식 (더보기) 더보기 더보기 더보기 [[1,2],[2,3]] 이건뭐지 배열이 두겹이다. 뭐지 저건 뭐라고 부르지. 더블배열은 아닐테고. 구글링하니까 2차배열이라고 부른단다. 배열 선언 방법 : let arr = new Array(rows); 새로운 배열 선언 방법을 알았다. 변수명에 새로 생성하니까 new, 배열이니까 Array, 만들 개수를 (rows)에 넣는가 봄. 객체 안에 배열이나 객체를 넣을 수 있는데, 배열 안에도 배열을 넣을 수 있나보다! let arr = [1,2,3] arr[0]=1 2차원 배열 선언 방법 : let arr = new Array(rows, columns); 우선 이해를 해보자. [ [1,2], [2,3] ] 이란 배열 안에는 [1,2]랑 [2,3]이 있다. 저 배열 .. 2022. 1. 4.
[220104] 코테 Lv.1 / x만큼 간격이 있는 n개의 숫자 해결 : for문이랑 배열 사용 function solution(x, n) { let answer = []; //2,5 -> 2의 배수를 5개 만들어야함 for(let i=0; i(i+1)*v) /* - 요소를 n개 만드는 새 배열을 만들건데, - 그 안을 x로 채울거야. - 그 x에 하나씩 접근해서 함수처리 한 값으로 새 배열을 만들거야 - map(함수(처리할 현재 요소, 처리할 현재 요소의 인덱스, map()을 호출한 원본배열)) - 인덱스 0부터 하나씩 접근할때 바뀌는 인덱스가 i */ } solution(2,5); // {빈 요소, 빈 요소, 빈 요소, 빈 요소, 빈 요소} // {2, 2, 2, 2, 2} // {(0+1)*2, (1+1)*2, (2+1)*2, (3+1)*2, (4+1)*2} /.. 2022. 1. 4.
[220104] 코테 Lv.1 / 직사각형 별찍기, 크롬 콘솔에서 중복된 값 띄우기 해보려고했는데.. 아는게 별로 없어셔 예시의 구문은 사용하지 못했다. 대신 내가 아는 것 내에서 해보고, 모르는건 일단 알아두기는 하겠음. 해결 전 문제 인식하기 별을 출력하고 함수를 어떻게 짜고 말하기 전에 제일 큰 문제가 하나 있다. 한 줄에 나란히 쓰기는 어떻게 하지. 너무 간단한 문제라 헛웃음이 나는데 지금 내 수준이 여기다. 아는건 console.log()랑 if문이랑 for문이랑 연산자 몇개가 단데 뭐 어떡할거야. 그러니까 도와줘요 구글링. 구글링을 한 결과 --> process.stdout.write(); 뭐가 이렇게 길어. 간단한거 없나. 심지어 실행도 안되는데? 뭐지? 어 잠만 여기서 막히면 아무것도 할 수 없는디. 출력을 못하는데 코드 짜면 뭐하냐고 확인을 못하는데. 혹시 console.. 2022. 1. 4.