목록전체 글 (132)
fffo
문제 문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] 접근 및..
프로토타입 js는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어임 객체지향 프로그래밍 명령형 프로그래밍 : 프로그램을 명령어나 함수의 목록으로 보는 전통적인 관점 객체지향 프로그래밍 : 여러 개의 독립적인 단위(객체)의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임 실세계의 실체를 인식하는 사고를 프로그래밍에 접목시키고자 함 속성 : 실체는 특징이나 성질을 나타냄 추상화 : 속성을 프로그램에 필요한 부분만 간추려내 표현 객체 : 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적 자료구조. 상태(property)와 동작(method)을 하나의 논리적 단위로 묶음 상속과 프로토타입 상속 : 객체의 프로퍼티나 메서드를 다른 객체가 상속 받아 그대로 사..
문제 문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다. 해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, 참가자의 미션은 전달받은 수식에 포함된 연산자의 우선순위를 자유롭게 재정의하여 만들 수 있는 가장 큰 숫자를 제출하는 것입니다. 단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 즉, + > - > * 또는 - > * > + 등과 같이 연산자 우선순위를 정의할 수 있으나 +,* > - 또는 * > +,-처럼 2개 이상의 ..
문제 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 n return 3 2 5 5 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, ..
함수의 일급 객체 일급 객체의 조건 무명의 리터럴로 생성 가능(런타임에 생성 가능) 변수나 자료구조(객체, 배열 등)에 저장 가능 함수의 매개변수에 전달 가능 함수의 반환값으로 사용 가능 함수 객체의 프로퍼티 arguments 함수 호출 시 전달된 인수의 정보를 담고 있는 유사 배열 객체이자 이터러블 자료구조 함수 내부에서 지역 변수처럼 사용, 외부에서 참조 불가 arguments 프로퍼티로서 사용하는 방법은 ES3부터 표준에서 폐지됨. 함수 내부에서 지역 변수처럼만 사용 권장 js는 선언된 매개변수의 개수와 함수 호출 시 전달되는 인수의 개수를 확인하지 않으므로 인수 개수를 확인하는 동작 시 arguments 객체를 활용. 가변 인자 함수 구현 용이 ES6에서 나온 Rest 파라미터로 가변 인자 함수 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gd37f/btrgBmgjSHz/tamHZtkovfqQ7DmwmASPL1/img.png)
웹 접근성에 대해 이해하기 위해 구체적인 요소를 대상으로 웹 접근성 분석을 해봤다. 이번에 다룰 요소는 데이터 테이블이다. 접근성이 좋지 않은 표를 고쳐보는 방식으로 접근했는데, 평소에 옷을 사는 사이트에 마침 괜찮은 예시가 있었다. 웹 접근성이 좋지 않은 데이터 테이블 예시 가장 큰 문제점은 표를 하나의 이미지로 대체했다는 점이다. 심지어 대체 텍스트도 없는 이미지이다. 표의 규모가 작기 때문에 표 내부의 문제점은 그리 크진 않지만, 적어도 표의 머리 행과 열은 잘 구분될 수 있게끔 경계 강조나 색 대비를 넣어 주는 편이 더 나을 것 같다. 또한 표의 내용면에서도 문제점을 발견할 수 있었는데, 맨 마지막 행을 보면 머리 열이 비어있어 해당 행의 숫자가 무엇을 표현하는 지 추측을 할 수밖에 없다. 물론 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/be0dUF/btrgANkMBMn/QNWtOYXChlXW65vJ5GtxK0/img.png)
문제 접근 및 풀이 정규 표현식에 변수를 넣는 방법을 배웠다. 코드 /* 숫자 빈도수 구하기 */ /* user code */ function answer(s, e) { let result = []; let str = ""; for (let i = s; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/x1tI1/btrgAAMJIsz/PixbOB8yC8s8GNkaeRA01K/img.png)
문제 접근 및 풀이 2중 for문으로만 생각했는데 풀이를 보니 속도가 O(1)인 객체탐색을 통해 O(n)으로 풀 수 있는 문제였다. 코드 /* two sum */ /* user code */ function answer(nums, target) { let map = {} for (let i = 0; i < nums.length; i++) { const rest = target - nums[i]; if (map[rest] !== undefined) { return [map[rest], i]; } map[nums[i]] = i; } } /* main code */ let input = [ // TC: 1 [[2, 7, 11, 15], 9], // TC: 2 [[3, 2, 4], 6], // TC: 3 [[3..