학습 TIL
DOM(Document Object Model)로 HTML을 조작하지 않고 문서를 작성해보려 한다. 과일 데이터를 입력받아 DOM으로 HTML에 리스트화를 해볼 것이다. 우선 기본 HTML틀만 만들어 놓고 시작해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Fruit List //나중에 리스트를 보기좋게 바꾸어 줄 것이다. //따로 js파일을 연결시켜 js만 따로 작성할 것이다. Colored by Color Scripter cs 그리고 아래와 같은 자료가 있다고 가정해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4..
문제 : 학생의 정보가 담긴 객체를 요소로 갖는 배열을 입력받아 아래 조건에 맞게 변형된 배열을 리턴해야 합니다. 1. 남학생들의 정보는 리턴하는 배열에서 제외합니다. 2. 'grades' 속성값은 평균값(number 타입)으로 바꿉니다. 주의사항 : 반복문 사용금지. 배열을 리턴해야 합니다. 배열로 되어 있는 학생들의 성적을 number 타입의 평균값으로 변형해야 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function studentReports(students) { // 일단 여자만 필터 let onlyGirls = students.filter((el) => { return el.gender === 'female'; }) //students배열의 객체요소들 안에있는 g..
문제 : 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 주의사항 : 가장 짧은 문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다. 가장 짧은 문자열 또는 가장 긴 문자열이 다수일 경우, 나중에 위치한 문자열을 제거합니다. 배열 안의 문자열 최대길이는 20. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 function removeExtremes(arr) { // 가장 짧은 길이를 찾아서 그것의 인덱스 값을 찾는다 //인덱스 값을 찾아서 그것을 제외하고 하나씩 푸쉬한다. let shortestLth = 20; // 가장 짧은 길이를 찾기위한 수 let longes..
문제 : 문자열을 입력받아 연속되는 문자가 있을 경우, 연속 구간을 반복되는 수와 문자로 조합한 형태로 압축한 문자열을 리턴해야 합니다. 주의사항 : 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 3개 이상 연속되는 문자만 압축해야 합니다. 내가 푼 원리 : 문자열을 하나씩 추가하는데, 추가하면서 연속해서 같은 문자가 3개 이상되면 그만큼을 갯수+문자 조합으로 바꿔준다. 이렇게 풀어야겠다고 생각을 해놓고 코드를 짰는데 부딪히는게 너무 많았다. 콘솔창에서 디버그만 100번은 돌려본것 같다.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 function compressString(str) { //aabbbb..
JavaScript 문제 : 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 주의사항 : 단어는 공백으로 구분합니다. 연속된 공백이 존재할 수 있습니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 어떻게 풀지 생각해보기 : 문자열을 입력 받기 때문에 띄어쓰기로 구분해서 배열로 변환한 뒤에, 각 요소의 첫번째 문자를 대문자로 바꿔준다. 여기서 주의해야 할 점이 연속된 공백이 존재할 수 있는 것이다. 존재하는 것으로 끝이아니고 다시 결과값으로도 그 공백이 그대로인 상태에서 앞글자가 대문자로 바뀌어야 한다. 여기서 많이 헤맸다. 처음 코드를 짰을 때 대문자로 바꿔주는 것 까지는 하겠는데 다시 문자열로 합칠때 그 공백이 다 사라졌기 때문이다. 그래서 ..
JavaScript 문제 : 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 객체를 리턴해야 합니다. 주의사항 : 중복되는 키의 경우, 초기의 값을 사용합니다. 빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. arr[i]의 길이가 0인 경우, 무시합니다. 어떻게 풀지 생각해보기 : 왼쪽의 결과처럼 나와야 한다. 배열안의 배열의 첫번째 요소를 key 두번째 요소를 value로 하는 객체를 만들어 주면 된다. 하드코드를 작성해보면 obj[arr[0][0]] = arr[0][1] obj[arr[1][0]] = arr[1][1] obj[arr[2][0]] = arr[2][1] obj[arr[i][0]] = arr[i][1] 이렇게 해주면 되는 거고 이걸 반복문 처리해주면 된다. ..
Javascript 문제 : 수를 입력받아 2의 거듭제곱인지 여부(boolean 타입)를 리턴해야 합니다. 주의사항 : 반복문(while)을 사용해야 합니다. 2의 0승은 1입니다. Number.isInteger, Math.log2, Math.log 사용은 금지 됩니다. 나는 이렇게 수를 입력받아 2의 거듭제곱인지 여부(boolean 타입)를 리턴하는 함수를 구현했다. 그리고 지금 다시 보니 첫번째 조건문에 "num === 2"라는 조건은 없어도 된다. 이렇게 만들고 레퍼런스 코드는 어떤지 확인해 보았는데, 레퍼런스 코드는 조금 달랐다. 처음 조건문은 1을 입력받으면 그냥 true를 출력하게 했고, 두번째 조건문은 짝수이면 false를 출력해라??, 그리고 초기 거듭제곱수(powered)를 2로 할당해주..