본문 바로가기

분류 전체보기296

[LV.1] 정수 제곱근 판별 (Math.sqrt(), Number.isInteger() 1. 문제 2. 풀이 function solution(n) { var answer = 0; if(Number.isInteger(Math.sqrt(n))){ // n의 제곱근이 정수라면 ? answer = (Math.sqrt(n)+1)*(Math.sqrt(n)+1); // (n의제곱근+1)^2 를 리턴 } else{ answer = -1 // 아니면 -1 } return answer; } 3. 알아야할 사항 1) Number.isInteger(a) : a가 정수이면 true, 아니면 false를 리턴해준다 2) Math.sqrt(n) : n의 제곱근을 구해준다. 2023. 1. 31.
[Lv.0] 정복기념 레벨0 다풀었다.. 풀다가 안쓰던 메소드나 로직, 어려운거 포스팅 몇개 해보려고 했는데 어느새 다 풀었다. 다른 문제들은 올려놓은 포스팅 짬뽕이더라.. 레벨1도 풀면서 어려운 부분 기록하고 공유해야지! 오늘 공부 끝! 2023. 1. 30.
[Lv.0] 안전지대 (2차원 배열과 경우의수) 1. 문제 2. 전략 1) 지뢰의 좌표를 찾는다. 2) 지뢰의 좌표로부터 상하좌우 8칸이 0이라면 'x'로 바꾼다 (지뢰가 여러개일수 있으므로 1이면 그대로 1로 둔다.) 3) 만약 지뢰가 좌상끝/좌끝/좌하끝/우상끝/우끝/우하끝/상끝/하끝 인 경우를 고려해야한다. 4) * 풀이 도중 board[삼항연산자][삼항연산자] 의 방법에 오류가 있어 별도의 함수를 만들어 풀었다. function solution(board) { var answer = 0; let n = board.length-1; // board는 어떤수x어떤수의 정사각형 형태이므로 // let n = board의 요소의 마지막index혹은 board의 마지막index let ifNeg = (a)=>{ // ifNeg는 파라미터 자신이 음수면 0.. 2023. 1. 30.
[Lv.0] 평행(복잡한 계산문제에서의 전략) 1. 문제 2. 전략 1) 두개의 점을 이은 선분의 기울기는 (x2-x1)/(y2-y1) 이다. 2) for 반복문을 이용해서 가능한 선분의 모든 기울기를 newArray에 push한다. 3) newArray에 중복값이 있으면 평행한 선분을 그을 수 있다. function solution(dots) { var answer = 0; let allArr = []; for(let i =0; i 2023. 1. 30.
[Lv.0] 외계어 사전 1. 문제 2. 전략 1) 일단 spell의 전체길이와 dic의 글자수가 다른 요소는 어차피 발음 못하므로 삭제한다. 2) dic의 각 글자에서 spell의 글자들과 비교하여 일치하는 경우 '' 으로 replace 시킨다. (중복된 원소가 없으므로 한번만 검사하면 된다) 3) 작업된 배열 중에서 글자가 모두 교체되어 ''가 된 요소가 1개 이상일 경우 spell의 알파벳을 한번만 사용한 단어가 dic에 존재하므로 answer =1 이다. function solution(spell, dic) { var answer = 2; let newDic = []; //중복되지 않으며, spell의 원소 모두를 사용해야하므로 dic의 요소 중에서 spell의 전체의 길이와 //같은 요소만을 필터해서 newDic에 모아.. 2023. 1. 30.
[Lv.0] 영어가 싫어요(.replaceAll()) 1. 문제 2. 풀이 function solution(numbers) { let numberEn = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] let sum = numbers for(let i =0; i 2023. 1. 30.
[Lv.0] 7의 개수 1. 문제 2. 풀이 function solution(array) { let count = 0; for(let i =0; i< array.length; i++){ // 배열의 개수만큼 순회하며 아래 실행. let f = array[i].toString().indexOf('7'); //각 요소 중 7의 첫번째 인덱스를 반환 (indexOf()는 요소가 없으면 -1을 반환한다) while(f !=-1){ //7이 있으면 계속 실행하며 count를 올려 개수를 세준다. count++; f = array[i].toString().indexOf('7', f + 1) // indexOf의 두번째 파라미터(option)를 +1해주며 검색을 계속 진행 } } var answer = count; return answer.. 2023. 1. 30.
[Lv.0] 합성수 찾기 1. 문제 2. 풀이 function solution(n) { var answer = 0; let count = []; for(i= 2; i set -> array의 과정을 거치며 중복값을 제거하는 용도로도 사용 가능하다. 3) 축약형으로 : - let b = [...new Set(a)] ; 로 축약하여 중복값을 제거할 수 있다. 2023. 1. 30.