본문 바로가기

자바스크립트71

[Lv.0] 문자열 내림차순 정렬하기 (array.sort(), array.reverse(), array.join(), Spread 연산자, 1. 문제 2. 풀이 function solution(s) { var answer; answer = [...s]; //spread연산자로 문자열 s를 분해하여 배열에 각각 넣는다 answer.sort() // 문자열을 오름차순한다 answer.reverse() // 순서를 바꿔버린다(!) answer = answer.join('') // 배열을 연결해서 합친다 return answer; } 3. 알아야할 사항 1) spread연산자 (...a) : a가 문자면 한글자씩 분해한다. 괄호를 벗긴다 2) .sort() : 파라미터가 없으면 유니코드 기준으로 오름차순한다. 3) .reverse() : 배열의 순서를 뒤집는다. 4) .join(a) : 배열을 구분자 a기준으로 연결하여 합친다. 2023. 1. 31.
[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] 평행(복잡한 계산문제에서의 전략) 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.