[알고리즘] 10부제 - JS
문제 설명 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금 지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일,...
문제 설명 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금 지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일,...
문제 설명 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최소값을 찾는 프로그램을 작성하세요. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므...
문제 설명 7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 7개의 수가 주어진다. 출력설명 첫 번째 줄에 가장 작은 값을 출력한다. 입출력 예 입력 예 #1 5 3 7 11 2 15 17 출력 예 #1...
문제 설명 자연수 N이 입력되면 1부터 N까지의 합을 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 20이하의 자연수 N이 입력된다. 출력설명 첫 번째 줄에 1부터 N까지의 합을 출력한다. 입출력 예 입력 예 #1 6 출력 예 #1 21 ...
문제 설명 연필 1 다스는 12자루입니다. 학생 1인당 연필을 1자루씩 나누어 준다고 할 때 N명이 학생수 를 입력하면 필요한 연필의 다스 수를 계산하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 1000 이하의 자연수 N이 입력된다. 출력설명 첫 번째 줄에 필요한 다...
문제 설명 길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있 으면 “YES”를 출력하고, 만들 수 없으면 ”NO”를 출력한다. 입력설명 첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다. 출력설명 첫...
문제 설명 100이하의 자연수 A, B, C를 입력받아 세 수 중 가장 작은 값을 출력하는 프로그램을 작성하 세요.(정렬을 사용하면 안됩니다) 입력설명 첫 번째 줄에 100이하의 세 자연수가 입력된다. 출력설명 첫 번째 줄에 가장 작은 수를 출력한다. 입출력 예 입력 ...
문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는...
문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 ...
문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. pri...
문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌...
문제 설명 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 ...
문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 기본 시간(분) 기본...
문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 ...
문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당...
문제 설명 사전에 알파벳 모음 ‘A’, ‘E’, ‘I’, ‘O’, ‘U’만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 “A”이고, 그다음은 “AA”이며, 마지막 단어는 “UUUUU”입니다. 단어 하나 word가 매개변수로...
문제 설명 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째...
문제 설명 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘...
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우...
문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4...
문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 =...
문제 설명 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. ...
문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 “최소 필요 피로도”와 던전 탐험을 마쳤을 때 소모되는 “소모 피로도”가 있습니다. “최소 필요 피로...
문제 설명 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅...
문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 ...
문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. 특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요. ...
문제 설명 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데,...
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
문제 설명
RAID의 정의 RAID는 “Redundant Array of Independent Disks”의 약어로, 여러 개의 하드 디스크 드라이브를 하나의 논리적인 단위로 조합하여 데이터를 저장하고 관리하는 기술입니다. RAID를 사용하면 데이터의 안정성, 가용성 및 성능을 향상시킬 수 ...
하드 디스크 컴퓨터에서 데이터를 저장하고 접근하는 데 사용되는 중요한 저장 장치입니다. 하드 디스크의 동작 원리를 이해하기 위해 다음과 같은 개념들을 살펴보겠습니다.
저장 장치 계층 구조 저장 장치 계층 구조는 컴퓨터 시스템 내에서 데이터와 프로그램을 저장하는 다양한 계층으로 구성된 구조입니다. 이 계층 구조는 접근 속도와 용량의 트레이드오프를 고려하여 설계되었습니다.
물리 주소와 논리 주소 물리 주소 (Physical Address) 실제 메모리의 위치를 나타내는 주소입니다. 프로세스가 실행되기 위해 실제로 메모리에 올라가는 위치를 가리킵니다. 메모리 관리 유닛(MMU)를 통해 논리 주소와 매핑됩니다.
RAM의 특징 RAM은 주 기억 장치로, 프로그램 및 데이터를 일시적으로 저장하고 프로세서가 접근할 수 있는 메모리 유형입니다.
CPU가 파이프라이닝과 슈퍼스칼라 기법을 효과적으로 사용하려면 명령어가 파이프라이닝 하기 쉽게 생겨야 합니다.
CPU가 놀지 않고 시간을 알뜰하게 쓰며 작동하게 만드는 법
클럭 (Clock) 컴퓨터 시스템에서 동기화된 신호로, 모든 동작을 조정하는 기반 신호입니다. 클럭 신호가 빠르게 반복되면 컴퓨터 부품들은 그에 맞춰 더 빠르게 작동할 것입니다. 실제로 클럭 속도가 높은 CPU는 일반적으로 성능이 좋습니다.
명령어 사이클 (Instruction Cycle) 컴퓨터에서 명령어를 실행하기 위해 수행되는 과정입니다. 프로그램 속 각각의 명령어들은 명령어 사이클이 반복되며 실행됩니다.
레지스터(Register)는 컴퓨터 내부에서 데이터를 저장하고 처리하는 데 사용되는 고속의 메모리 유닛입니다.
CPU의 구성 요소 ALU와 제어장치
기계어나 어셈블리어를 이루는 명령어의 구조
프로그래밍 언어로 작성한 소스 코드가 컴퓨터 내부에서 명령어로 변환되어 처리되는 과정
컴퓨터는 0과 1로 다양한 문자를 표현할 수 있음
컴퓨터는 0과 1로 모든 정보를 표현하고, 0과 1로 표현된 정보만을 이해할 수 있음
메인보드 확장 가능한 전자기기에 쓰이는 필수 주요 부품의 일종으로, 각종 케이블이나 배선을 통합하여 연결하는 회로와 입출력 포트가 설치되어 있는 전자기판
입출력장치(I/O Units) 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
보조기억장치 주기억장치는 용량이 적고 휘발성이기 때문에 이를 보완하기 위해 사용하는 장치 전원을 꺼도 데이터가 남아있고 주기억장치에 비해 용량도 큼
CPU(Central Processing Unit) 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고 실행하는 부품
주기억장치 컴퓨터에서 수치·명령·자료 등을 기억하는 컴퓨터 하드웨어 장치를 가리킨다.
Spring Framework는 Java 기반의 웹 애플리케이션 개발을 위한 프레임워크로, 객체지향적인 개발 방식을 적극적으로 활용한다. 이러한 객체지향적인 개발을 지원하기 위해 Spring은 여러 개의 Annotation을 제공하고 있다. 이번 글에서는 Spring Annotat...
Spring Initializr를 사용하여 Spring Boot 프로젝트 생성