분류 전체보기 153

105. 쿼드압축 후 개수 세기

문제 설명0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다.당신이 압축하고자 하는 특정 영역을 S라고 정의합니다.만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요.제한사항arr의 행의 개수는 1 ..

문제 풀이 2024.08.01

전반적인 용어정리

1. 컴퓨터 구조와 운영체제프로세스: 실행중인 프로그램멀티 프로세스: 두개 이상의 프로세스가 동시에 실행되는것운영체제: 사용자가 컴퓨터를 조작 및 제어하고 작업의 편의성을 제공하기 위한 ’시스템 소프트웨어’병렬처리: 여러 개의 작업을 동시에 실행하여서 효율을 높이는 것(GPU)캐시메모리(SRAM): CPU와 주기억장치의 속도 차이를 해결하기 위해 일시적으로 필요한 적은 양의 데이터를 저장하는 기억장치주기억장치: 컴퓨터의 수치, 자료, 명령등을 기억하며 프로그램 및 운영체제가 실행되기 위해 위치되는 곳스케쥴링: 작업에 필요한 자원을 언제 누가 어떻게 사용할지 결정해 주는것멀티쓰레드: 하나의 프로세스가 여러 작업 단위를 가지며 작업을 수행하는것보조기억장치: 비휘발성 메모리로 운영체제 및 일반 프로그램들, 여..

CS 2024.07.31

103. 가장 큰 수

문제 설명0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.제한 사항numbers의 길이는 1 이상 100,000 이하입니다.numbers의 원소는 0 이상 1,000 이하입니다.정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.입출력 예numbersreturn[6, 10, 2]"6210"[3,..

문제 풀이 2024.07.30

02. CPU의 스케쥴링 및 메모리 심화

1. 스케쥴링2. 캐시 메모리와 메모리 할당   스압주의.... 0. 용어 정리 - 프로세스: 프로그램을 실행해주는 주체 - 쓰레드: 작업을 처리해주는 주체(프로세스 안에서 이런 저런 쓰레드를 사용) 1. 스케쥴링: CPU를 잘 사용하기 위해 프로세스를 잘 배정하는 것 1-1 스케쥴링 목적CPU를 통해 한정된 자원으로 최대한 성능을 이끌어내기 위해서는 CPU를 적절하고 효율적으로 사용해야 함.쉽게 표현하면, OS는 실행 대기중인 프로그램(프로세스)들에게 CPU 자원 배정을 적절히 하여 시스템의 성능을 끌어올릴 수 있음공통 배정조건 : 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓오버헤드 : 프로세스가 필요한 자원보다 더 많이 사용하지 않도록사용률 : 프로세스가 최대한 자원을 많이받고 빨리 처리하도록기아 현..

CS 2024.07.29

WIL 5 주차

5주차 현재 나의 수준 현황 HTML, CSS: 인터넷 찾아가면서 만들어가는 정도JS: 필요한 함수만 가져다 쓰는 정도Python: 가상환경 및 개발 툴 다루는데 문제없음알고리즘: 알고리즘 3주차 반까지 수강SWEA: D3까지 품GIT 및 GITHUB: INIT, ADD, COMMIT, PUSH, PULL, LOG, CLONE, STATUS까지 완료정보처리기사: 필기 통과CS: 강의영상 하나 6주차 목표 HTML, CSS: 강의내용을 복기하며 HTML 및 CSS 작성에 익숙해지기(변동 없음)JS: 필요한 함수의 사용법이나 매개변수등을 파악하기(변동 없음)Python: 현황 유지 (변동 없음)알고리즘: 시간나면 나머지 보기SWEA: 시간 나면 풀기정보처리기사: 실기 준비GIT 및 GITHUB: 1. bra..

etc/잡다한 것 2024.07.26

01. 컴퓨터의 네가지 핵심 부품

1.  입출력 장치2.  CPU3.  메모리 1. 입출력 장치: 컴퓨터의 입출력을 도와주는 장치 - 입력 장치의 종류키보드, 마우스, 터치스크린, 마이크, 스캐너, 카메라 등..입력 장치들을 통해 컴퓨터에게 명령을 요청하거나 데이터를 입력키보드를 통해 파일에 문자를 입력하도록 명령하고 연산을 작성한뒤 엔터키를 눌러서 연산수행 및 저장을 명령마우스를 통해 폴더를 열거나 파일 실행하도록 명령하고 컴퓨터 설정을 변경 - 출력 장치의 종류모니터, 스피커, 프린터 등…컴퓨터는 출력 장치들을 통해 사용자에게 명령이나 데이터를 입력할 수 있는 화면을 보여주거나 명령에 대한 처리결과를 보여주거나 들려줌2. CPU(중앙처리장치):  컴퓨터가 사용자의 명령에 대한 작업을 수행하는 처리장치  2-1. 중앙처리장치 구성 요소..

CS 2024.07.26

다익스트라 알고리즘

다익스트라 알고리즘: 다익스트라(데이크스트라)가 만든 알고리즘.  https://ko.wikipedia.org/wiki/에츠허르_데이크스트라  1. 출발지를 s로 정하고, 다음과 같이 표시한다. (s, t, x, y, z 순)거리 = [0, inf, inf, inf, inf]방문 = [True, False, False, False, False]2. 갈 수 있는 노드들의 최소거리를 측정한다.s->t: 10s->y: 5 (s, t, x, y, z 순)거리 = [0, 10, inf, 5, inf]방문 = [True, False, False, False, False]3. 방문 안한 녀석들 중 가장 가..

알고리즘 2024.07.24

99. 롤케이크 자르기

문제 설명철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가면 공평하게 롤케이크가 나누어진 것으로 생각합니다.예를 들어, 롤케이크에 4가지 종류의 토핑이 올려져 있다고 합시다. 토핑들을 1, 2, 3, 4와 같이 번호로 표시했을 때, 케이크 위에 토핑들이 [1, 2, 1, 3, 1, 4, 1, 2] 순서로 올려져 있습니다. 만약 세 번째 토핑(1)과 네 번째 토핑(3) 사이를 자르면 ..

문제 풀이 2024.07.24

973. K Closest Points to Origin(with. HashTable)

Given an array of points where points[i] = [xi, yi] represents a point on the X-Y plane and an integer k, return the k closest points to the origin (0, 0).The distance between two points on the X-Y plane is the Euclidean distance (i.e., √(x1 - x2)2 + (y1 - y2)2).You may return the answer in any order. The answer is guaranteed to be unique (except for the order that it is in). Example 1:Input: po..