포스트

2024

[알고리즘] 10부제 - JS

문제 설명 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금 지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일,...

[알고리즘] 홀수 - JS

문제 설명 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최소값을 찾는 프로그램을 작성하세요. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므...

[알고리즘] 최솟값 구하기 - JS

문제 설명 7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 7개의 수가 주어진다. 출력설명 첫 번째 줄에 가장 작은 값을 출력한다. 입출력 예 입력 예 #1 5 3 7 11 2 15 17 출력 예 #1...

[알고리즘] 1부터 N까지 합 출력하기 - JS

문제 설명 자연수 N이 입력되면 1부터 N까지의 합을 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 20이하의 자연수 N이 입력된다. 출력설명 첫 번째 줄에 1부터 N까지의 합을 출력한다. 입출력 예 입력 예 #1 6 출력 예 #1 21 ...

[알고리즘] 연필 개수 - JS

문제 설명 연필 1 다스는 12자루입니다. 학생 1인당 연필을 1자루씩 나누어 준다고 할 때 N명이 학생수 를 입력하면 필요한 연필의 다스 수를 계산하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 1000 이하의 자연수 N이 입력된다. 출력설명 첫 번째 줄에 필요한 다...

[알고리즘] 삼각형 판별하기 - JS

문제 설명 길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있 으면 “YES”를 출력하고, 만들 수 없으면 ”NO”를 출력한다. 입력설명 첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다. 출력설명 첫...

[알고리즘] 세 수 중 최솟값 - JS

문제 설명 100이하의 자연수 A, B, C를 입력받아 세 수 중 가장 작은 값을 출력하는 프로그램을 작성하 세요.(정렬을 사용하면 안됩니다) 입력설명 첫 번째 줄에 100이하의 세 자연수가 입력된다. 출력설명 첫 번째 줄에 가장 작은 수를 출력한다. 입출력 예 입력 ...

[프로그래머스] Lv.2 스킬트리 - JS

문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는...

[프로그래머스] Lv.2 땅따먹기 - JS

문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 ...

[프로그래머스] Lv.2 주식가격 - JS

문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. pri...

[프로그래머스] Lv.2 방문 길이 - JS

문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌...

[프로그래머스] Lv.2 뒤에 있는 큰 수 찾기 - JS

문제 설명 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 ...

[프로그래머스] Lv.2 주차 요금 계산 - JS

문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 기본 시간(분) 기본...

[프로그래머스] Lv.2 더 맵게 - JS

문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 ...

맨 위로 이동 ↑

2023

[프로그래머스] Lv.2 게임 맵 최단거리 - JS

문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당...

[프로그래머스] Lv.2 모음 사전 - JS

문제 설명 사전에 알파벳 모음 ‘A’, ‘E’, ‘I’, ‘O’, ‘U’만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 “A”이고, 그다음은 “AA”이며, 마지막 단어는 “UUUUU”입니다. 단어 하나 word가 매개변수로...

[프로그래머스] Lv.2 [3차] n진수 게임 - JS

문제 설명 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째...

[프로그래머스] Lv.2 [3차] 압축 - JS

문제 설명 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘...

[프로그래머스] Lv.2 k진수에서 소수 개수 구하기 - JS

문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우...

[프로그래머스] Lv.2 전화번호 목록 - JS

문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4...

[프로그래머스] Lv.2 타겟 넘버 - JS

문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 =...

[프로그래머스] Lv.2 [1차] 뉴스 클러스터링 - JS

문제 설명 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. ...

[프로그래머스] Lv.2 피로도 - JS

문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 “최소 필요 피로도”와 던전 탐험을 마쳤을 때 소모되는 “소모 피로도”가 있습니다. “최소 필요 피로...

[프로그래머스] Lv.2 프로세스 - JS

문제 설명 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅...

[프로그래머스] Lv.2 기능개발 - JS

문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 ...

[프로그래머스] Lv.2 튜플 - JS

문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. 특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요. ...

[프로그래머스] Lv.2 [1차] 캐시 - JS

문제 설명 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데,...

[컴퓨터 구조] RAID의 정의와 종류

RAID의 정의 RAID는 “Redundant Array of Independent Disks”의 약어로, 여러 개의 하드 디스크 드라이브를 하나의 논리적인 단위로 조합하여 데이터를 저장하고 관리하는 기술입니다. RAID를 사용하면 데이터의 안정성, 가용성 및 성능을 향상시킬 수 ...

[컴퓨터 구조] 다양한 보조기억장치

하드 디스크 컴퓨터에서 데이터를 저장하고 접근하는 데 사용되는 중요한 저장 장치입니다. 하드 디스크의 동작 원리를 이해하기 위해 다음과 같은 개념들을 살펴보겠습니다.

[컴퓨터 구조] 캐시 메모리

저장 장치 계층 구조 저장 장치 계층 구조는 컴퓨터 시스템 내에서 데이터와 프로그램을 저장하는 다양한 계층으로 구성된 구조입니다. 이 계층 구조는 접근 속도와 용량의 트레이드오프를 고려하여 설계되었습니다.

[컴퓨터 구조] 메모리의 주소 공간

물리 주소와 논리 주소 물리 주소 (Physical Address) 실제 메모리의 위치를 나타내는 주소입니다. 프로세스가 실행되기 위해 실제로 메모리에 올라가는 위치를 가리킵니다. 메모리 관리 유닛(MMU)를 통해 논리 주소와 매핑됩니다.

[컴퓨터 구조] RAM의 특징과 종류

RAM의 특징 RAM은 주 기억 장치로, 프로그램 및 데이터를 일시적으로 저장하고 프로세서가 접근할 수 있는 메모리 유형입니다.

[컴퓨터 구조] CISC와 RISC

CPU가 파이프라이닝과 슈퍼스칼라 기법을 효과적으로 사용하려면 명령어가 파이프라이닝 하기 쉽게 생겨야 합니다.

[컴퓨터 구조] 빠른 CPU를 위한 설계 기법

클럭 (Clock) 컴퓨터 시스템에서 동기화된 신호로, 모든 동작을 조정하는 기반 신호입니다. 클럭 신호가 빠르게 반복되면 컴퓨터 부품들은 그에 맞춰 더 빠르게 작동할 것입니다. 실제로 클럭 속도가 높은 CPU는 일반적으로 성능이 좋습니다.

[컴퓨터 구조] 명령어 사이클과 인터럽트

명령어 사이클 (Instruction Cycle) 컴퓨터에서 명령어를 실행하기 위해 수행되는 과정입니다. 프로그램 속 각각의 명령어들은 명령어 사이클이 반복되며 실행됩니다.

[컴퓨터 구조] 레지스터

레지스터(Register)는 컴퓨터 내부에서 데이터를 저장하고 처리하는 데 사용되는 고속의 메모리 유닛입니다.

[컴퓨터 구조] 메인보드 & 시스템 버스

메인보드 확장 가능한 전자기기에 쓰이는 필수 주요 부품의 일종으로, 각종 케이블이나 배선을 통합하여 연결하는 회로와 입출력 포트가 설치되어 있는 전자기판

[컴퓨터 구조] 보조기억장치

보조기억장치 주기억장치는 용량이 적고 휘발성이기 때문에 이를 보완하기 위해 사용하는 장치 전원을 꺼도 데이터가 남아있고 주기억장치에 비해 용량도 큼

Spring Annotation 정리 - @Controller, @Service, @Repository, @Component

Spring Framework는 Java 기반의 웹 애플리케이션 개발을 위한 프레임워크로, 객체지향적인 개발 방식을 적극적으로 활용한다. 이러한 객체지향적인 개발을 지원하기 위해 Spring은 여러 개의 Annotation을 제공하고 있다. 이번 글에서는 Spring Annotat...

맨 위로 이동 ↑