목록Programming (128)
fffo
문제 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이..
문제 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbersreturn "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11..
정렬 정렬은 탐색을 위함 bubble function bubbleSort(arr) { for (let i = arr.length; i > 1; i--) { for (let j = 0; j arr[j+1]) { [arr[j], arr[j+1]] = [arr[j+1], arr[j]]; } } } return arr; } insertion sort 정렬 중간 단계에서 배열 중간에 삽입할 원소를 밀어 넣는 과정에서 헤맸다 function insertionSort(arr) { for (let i = 1; i arr[i-1]) continue; let cur = i; for (let j = i-1; j ..
데이터 타입 원시 타입 number string boolean undefined null symbol : ES6에서 추가된 타입 객체 타입 : 객체, 함수, 배열 등 number 배정밀도 64비트 부동소수점 형식을 따름 모든 수를 실수로 처리, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않음 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동소수점 형식의 2진수로 저장되어 값을 참조하면 모두 10진수로 해석됨 const binary = 0b1000001; const octal = 0o101; const hex = 0x41; console.log(binary); // 65 console.log(octal); // 65 console.log(hex); // 65 console...
표현식과 문 값, 리터럴, 표현식, 문 값(value) : 식(표현식)이 평가(evaluate)되어 생성된 결과 리터럴(literal) : 사람이 이해할 수 있는 문자 혹은 약속된 기호를 사용해 값을 생성하는 표기법 js는 런타임에 리터럴을 평가해 값을 생성함 표현식(expression) : 표현식은 값으로 평가될 수 있는 문(statement) 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조함 리터럴 또한 평가될 수 있으므로 표현식의 일종임 표현식과 표현식이 평가된 값은 동치, 즉 값이 위치할 수 있는 자리는 표현식이 올 수 있음 문(statement) : 프로그램을 구성하는 기본 단위이자 최소 실행 단위 토큰 : 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소 표..
자바스크립트 개발 환경과 실행 방법 자바스크립트 실행 환경 브라우저와 Node.js는 용도가 다름에 유의 브라우저 : HTML, CSS, js를 실행해 웹페이지를 브라우저 화면에 렌더링 하는 것이 주 목적 Node.js : 브라우저 외부에서 js 실행 환경을 제공하는 것이 주 목적 Node.js에서는 Web API를 지원하지 않음 브라우저에서는 파일 시스템을 지원하지 않음(Web API인 FileReader객체를 통해 사용자가 지정한 파일을 읽는 것은 가능) 브라우저를 통해 실행되는 js로 사용자의 로컬 파일을 건드릴 수 있다면 보안문제가 있기 때문에 지원하지 않음 변수 변수란 무엇인가? 왜 필요한가? 애플리케이션의 본질은 데이터를 입력받아 처리하고 결과를 출력하는 것 js는 치명적 오류를 방지하기 위해..
자료구조 리스트 링크드 리스트(이하 LL)와 배열의 성능을 삽입, 삭제, 탐색 연산에 관해 비교하여 설명 하시오 삽입 : 배열은 삽입 시 삽입 위치의 뒤에 오는 나머지 요소들을 모두 한 칸씩 뒤로 보내야 하지만 LL은 앞뒤 노드의 링크만 바꿔주면 되기 때문에 LL이 유리함 삭제 : 배열은 삭제 시 메모리 관리를 위해 따로 처리가 필요한 반면 LL은 앞뒤 노드의 링크만 끊어주면 되기 때문에 LL이 유리함 탐색 : LL은 특정 위치에 있는 노드를 탐색하려면 head부터 순차적으로 탐색해야 하지만 배열은 인덱스만 알면 바로 탐색할 수 있으므로 배열이 유리함
결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다. js의 탄생 넷스케이프 커뮤니케이션즈에서 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입 → Brendan Eich의 자바스크립트 마이크로소프트에서 자바스크립트의 파생 버전인 JScript를 IE3.0에 탑재. 크로스 브라우징 이슈 발생. 표준화 필요성 대두 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구 ECMA 인터네셔널의 자바스크립트 표준화 → ECMAScript js 성장 역사 초창기 js는 웹페이지의 보조적 기능 수행을 위한 한정적 용도로 사용. 대부분의 로직은 웹서버에서 실행. 브라우저는 서버로부터 받은 html, css를 단순히..