목록분류 전체보기 (164)
개발의변화
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 function solution(n) { arr = [0,1]; for (let i = 2 ; i < n + 1 ; i++) { arr.push((arr[i-1]+arr[i-2])%1234567); } return arr[arr.length-1]; }
문제 https://school.programmers.co.kr/learn/courses/30/lessons/76502 답 const pair = { '}': '{', ']': '[', ')': '(' } function solution(s) { const arr = s.split('') let result = 0 const isValid = arr => { const stack = [] for (let i = 0; i < arr.length; i++) { const c = arr[i] if (pair[c] === undefined) stack.push(c) else { if (stack[stack.length - 1] !== pair[c]) return false stack.pop() } } if (s..

프로세스 CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행 중인 프로그램을 의미하며, 작업 또는 태스크라고 한다 프로세스의 상태 하나의 프로세스는 여러가지 이벤트에 의해 일련의 서로 구분된느 상태 변화를 겪는다 생성 상태, 준비 상태, 실행 상태, 대기 상태, 완료 상태를 가질 수 있다. 생성상태 사용자에 의해 프로세스가 생성된 상태 준비 상태 CPU를 할당받을 수 있는 상태 준비 리스트: 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음 실행 상태 프로세스가 CPU를 할당받아 동작 중인 상태 대기 상태 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태 대기 리스트: 우선 순위가..

메모리 관리 개념 메모리 관리는 중앙 처리 장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리하는 기법, CPU가 프로그램을 읽어서 연속적으로 동작하기 위해서는 메모리 관리의 역할이 중요! 메모리 관리 기본 사항 가상 메모리 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여하는 방식 가상 주소(Virtual Address), 물리 주소(Physical Address)가 있고 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위를 물리 주소 공간 가상 주소 공간은 메모리 관리 장치(MMU)에 의해서 물리 주소로 변환 메모리 관리 장치 CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품 가상 메모리 주소를 실제 메모리 주소로 변환 메모리 보호, 캐시 관리, 버스 중재 등의 역..

1) 운영체제의 개념 운영체제란? - 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 하는 인터페이스를 제공해주는 소프트웨어 - 하드웨어는 1) 중앙처리 장치: 컴퓨터의 장치를 제어하고 데이터를 처리 2) 기억 장치: 데이터를 저장 3) 통신 장치: 외부와의 통신을 담당 4) 입출력 장치: 데이터 입력과 출력을 담당 운영체제 특징 1) 사용자 편리성: 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영 2) 인터페이스 기능: 컴퓨터 시스템과 사용자를 연결 3) 스케줄링: 다중 사용자와 다중 응용 프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당 4) 자원 관리: CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리 5) 제..

https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제: 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다...

프로세스(process): 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 같은 의미 (CPU 스케줄링: 언제 어떤 프로세스에 CPU를 할당할지 결정하는 작업) 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라간다. 이 순간부터 프로세스라고 불린다 컴파일 언어의 컴파일 과정 1.전처리: 소스 코드의 주석을 제거하고 헤더 파일을 병합하여 매크로를 치환합니다. (매크로란 C언어로 예를 들자면 #define같이 특정한 함수명을 선언한다는가 변수명을 선언하여 문자열로 치환하는 것) 2. 컴파일러: 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환시킵니다. 3. 어셈블러: 어셈블리어는 목적 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 | | 5 | 6..