본문 바로가기

programming study

(889)
[프로그래머스] 숫자 문자열과 영단어 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 숫자 문자열과 영단어 function solution(s) { let answer = ''; // 영단어에서 숫자를 표시한 객체 const wordToNumber = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, } // numbersToWrods의 키 const wordToNumberKeys = Object.keys(wordToNumber); // 주어진 s를 순회 // 넣을 단어 let word = ''; for (let chr o..
[프로그래머스] 이진 변환 반복하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 이진 변환 반복하기 function solution(s) { let answer = []; // 0을 세는 카운터 let countZero = 0; // 변환 횟수 let countConvert = 0; // s를 담을 변수(배열로 변환 예정) let sArr = s // 1이 될때까지 실행 while (sArr !== '1') { // 0을 제거 sArr = sArr.split('').filter((val) => { // 0인 요소 세기 if (val === '0') { countZero += 1; } // 0이 아닌 것만 return return val !== '0'; }).leng..
[프로그래머스] 방문 길이 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 방문 길이 function solution(dirs) { let answer = 0; // 캐릭터의 x, y 위치(처음) let positionX = 0; let positionY = 0; // 캐릭터가 움직인 경로 (정방향, 역방향) const route = []; // dirs 하나씩 접근 for (let dir of dirs) { // U, 위로 이동 if (dir === 'U') { // 전체 좌표를 넘는지 확인 if ((positionY + 1) >= -5 && (positionY + 1) = -5 && (positionY - 1) = -5 && (positionX + 1) =..
프레임워크 vs 라이브러리 vs API 본 내용은 10분 테코톡 욘님의 강의를 토대로 작성하였습니다. 1. 프레임워크 개발할 때에 빈번히 쓰여지는 범용 기능을 한꺼번에 제공해 개발 효율의 향상을 목표하는 소프트웨어 환경 기본 뼈대를 갖추어서 진행하는 것 공통적인 개발환경을 제공 (개발 편의성) 개발할 수 있는 범위가 정해져 있음 제어의 역전이 발생 2. 라이브러리 개발자가 사용할 수 있는 API들을 종류나 목적에 따라서 나누어 정의한 API 묶음 재사용가능한 코드의 집합 개발하는 데 필요한 것들을 모아둔 일종의 저장소 필요할 때 호출해서 사용 흐름을 제어 3. API Application Programming Interface 다른 프로그램과 연결하는 다리 역할 구현이 아닌 제어를 담당 API를 조합해 원하는 프로그램을 만들 수도 있다. Re..
프론트엔드에서 Component란 본 내용은 10분 테코톡 브랜님의 강의를 토대로 작성하였습니다. 1. 컴포넌트 컴포넌트의 사전적 의미 A part or element of a larger whole, especially a part of a machine or vehicle. 전체의 부분 컴포넌트의 존재 의의 무엇인가를 하나의 덩어리 만으로 구성한다면, 높은 의존성을 가진다. 재사용성이 낮다. 규모가 큰 설계에 적용하기 어렵다. 2. 프론트엔드 컴포넌트 element group을 반환한는 JavaScript 함수 예전 웹 페이지의 html은 일부만 변경하고 싶어도 전체 페이지를 새로 내려주어야 했다. 비효율적 하나의 덩어리 AJAX등장 이후, 필요한 데이터만을 전달받고 일부분만 다시 그릴 수 있게 됨 웹의 성격이 점점 더 동적으로 바뀌..
Array 본 내용은 노마드 코더님의 강의를 토대로 작성하였습니다. 1. Time Complexity(시간 복잡도) 데이터 구조의 오퍼레이션 혹은 알고리즘이 얼마나 빠르고 느린지 측정하는 방법 실제 시간을 재는 것이 아닌, 얼마나 많은 단계가 있는가로 측정 단계가 적을 수록 훌륭한 알고리즘 2. Memory volatile(휘발성) 컴퓨터를 끄면 모든 데이터가 사라짐 RAM Random Access Memory 하드 드라이브보다 빠름 데이터 접속을 랜덤으로할 수 있다. 프로그램이 돌아가고, 변수를 생성할 때 RAM에 저장 non-volatile(비휘발성) 하드 드라이브 컴퓨터를 껐다가 다시 켜도 데이터는 그대로 3. 메모리 관점에서의 배열 배열을 만들기 전, 컴퓨터에게 배열의 길이를 예약 / 할당 메모리 안에서 나..
Process vs Thread 본 내용은 10분 테코톡 쪼밀리님, 오구님의 강의를 토대로 작성하였습니다. 1. 용어정리 프로그램(Program) 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일 웹 브라우저, 워드 프로세서, 카카오톡 프로세스(Process) 운영 체제 위에서 실행중인 프로그램 프로그램 명령어와 데이터들이 메모리에 올라오고 실행 중 또는 실행 대기중인 상태 프로세스가 동작하는 것은 프로세스의 특정 스레드가 실행 중 그 특정 스레드는 프로세스가 가진 데이터를 참조 스레드 단위 작업을 지원하기 위한 작업 할당의 단위 프로세서(Processor) 프로세스가 동작될 수 있도록 하는 하드웨어(=cpu) 동작: 프로세스가 동작될 수 있도록 하는 하드웨어(=cpu) 멀티태스킹 CPU(프로세서)는 한순간에 하나의 프로세스만 실..
CORS 본 내용은 10분 테코톡 코나스님의 강의를 토대로 작성하였습니다. 1. 동일 출처 정책(SOP: Same-Origin Policy) 어떤 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식 출처가 같다는 것은 두 URL의 프로토콜, 호스트, 포트 세 개가 모두 같다는 것 2. 크로스 도메인(Cross Domain) 이슈 SOP 때문에 자바스크립트 (XMLHttpRequest)로 다른 웹 페이지에 접근할 때 같은 출처(Same Orign)의 페이지에만 접근 가능 SOP를 우회해서 서로 다른 도메인 간에 통신을 할 수 있게 해줄 무언가 필요 개발자들이 만든 해결책 JSONP Reverse Proxy Flash Socket 3. CORS의..