목록전체 글 (28)
소소한 것들에 대한 기록
[문제 설명] 1. 알파벳 대/소문자와 숫자 그리고 구분자인 마침표(.), 쉼표(,), 느낌표(!), 물음표(?), 스페이스( )로 이루어진 문장을 각 구분자로 단어 구분하여 각 단어를 거꾸로 뒤집어 모은 문자열 배열 출력하기 [풀이 과정] 1. 문자 | 의 경우 or을 의미한다. 2. 마침표(.)와 물음표(?)는 각 구분자가 지닌 의미가 아닌 단순한 문자로 해석하라는 뜻으로 구분자 앞에 역슬래시(\)를 넣어주었다. function solution(s) { const arr = s.split(/,|\.|!|\?| /) //주어진 구분자로 분리한 문자열 생성 const newArr = arr.filter(word => word.length!==0) //빈 항목(구분자가 연속으로 나타난 경우) 제거 let ..
[문제 설명] 1. 길이가 0초과 100 이하의 숫자로 구성되어있는 문자열 s 2. s 중 가장 많이 등장하는 0~9사이의 숫자 출력. 3. 동점인 경우 가장 작은 수 반환. [풀이 과정] function solution(s) { const obj = {}; // 빈 object 생성 for (i=0; i {return obj[b] - obj[a]}) // .sort()로 정렬. 오름차순 정렬(a
[문제 설명] 1. 두 자연수 a, b에 대하여 b = a * c를 만족하는 자연수 c가 존재한다면, a를 b의 양의 약수라고 합니다. 2. 자연수 n의 양의 약수의 개수를 출력하는 프로그램을 구현하세요. [풀이 과정] 1. 빈 array인 arr 선언. 2. n보다 작은 수로 n을 나누어 나머지가 0인 수만 arr에 넣기. 예를들어 n이 4이면 나누어 나머지가 0이되는 1, 2, 4가 약수인 것. 3. arr의 길이 구해서 리턴 function solution(n) { var arr = []; //빈 array 생성 for(i=1;i
[문제 설명] 1. n개의 정수 배열 arr 내 짝수의 개수를 출력하는 함수, solution을 작성하기 2. 짝수의 개수 출력 [풀이 과정] function solution(arr) { const newArr = arr.filter(num => num%2==0); // 2로 나눠 나머지가 0인 수만 걸러서 newArr에 넣기 const answer=newArr.length // newArr 길이 체크 return answer; // 반환 }
[문제 설명] p가 10만원 이상이면 5%, 30만원 이상이면 10%, 50만원 이상이면 20% 할인된 가격을 출력하는 함수 solution(단, 할인된 가격은 소수점 이하를 버린 정수) [풀이 과정] function solution(p) { if(p>=500000){ p*=0.8 // p가 50만원 이상이면 0.8배(20% 할인된 금액)의 p 출력 } else if(p>=300000){ p*=0.9 // p가 50만원 미만이면서 30만원 이상이면 0.9배(10% 할인된 금액)의 p 출력 } else if(p>=100000) { p*=0.95 // p가 30만원 미만이면서 10만원 이상이면 0.95배(5% 할인된 금액)의 p 출력 } else{ p // 10만원 미만이면 그냥 p 출력 } var answ..
[문제 설명] 문자열 s 안에 들어있는 글자 중 중복된 글자 제외한 글자 출력 [풀이 과정] Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다. Set - JavaScript | MDN Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다. developer.mozilla.org function solution(s) { var set = new Set(s) // new Set()객체를 사용하여 중복된 글자를 제거한 obj 생성 var newSet = [...set] // 중복 글자가 제거된 obj를 newSet 배열에 넣기 var answer = newSet.length; // newSet의 길이 출력 return answ..
캐시(Cashe Memory) 속도가 빠른 장치와 속도가 느린 장치 사이의 속도차에 의한 병목 현상을 줄이기 위한 메모리이며 전원이 연결되어 있는 동안 정보를 유지한다. 속도의 향상을 위해 자주 사용되는 메인 메모리의 데이터를 넣어놓고 CPU가 메인 메모리까지 접근하지 않고도 프로그램과 데이터를 사용할 수 있도록 하는데 이를 캐시의 지역성(Locality)라고 한다. 참조의 국한성 Locality of Reference 프로그램이 수행되는 동안 메모리 참조는 국한된 영역에서 이루어지는 경향이 있다. CPU가 어떤 데이터를 원하는지 어느 정도 예측해서 공간/시간으로 구분하며 이 때문에 모든 코드나 데이터에 균등하게 접근하지 않는다는 특성이 있다. 공간 지역성(Spatial Locality): 해당 데이터와..