본문 바로가기

전체 글

(351)
[고득점 kit] 프로그래머스 코딩테스트 연습 - [힙] - #2. 디스크 컨트롤러 (문제 설명) 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종료까지 : ..
[고득점 kit] 프로그래머스 코딩테스트 연습 - [힙] - #1. 더 맵게 ( 문제 설명 ) 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 sc..
[고득점 kit] 프로그래머스 코딩테스트 연습 - [해쉬] - #4. 베스트 앨범 ( 문제 설명 ) 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 ..
[고득점 kit] 프로그래머스 코딩테스트 연습 - [해쉬] - #3. 위장 ( 문제 설명 ) 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. cl..
SKT_ICT_코딩테스트 #4. 대체 문제 백준_20188_등산마니아 ( 문제 ) 등산 마니아 서브 태스크 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 745 287 228 42.617% 문제 동네 뒷 산에는 등산로가 있다. 등산로는 N개의 작은 오두막들이 N −1개의 오솔길로 이어진 형태이다. 한 오솔길은 두 개의 오두막을 양 방향으로 연결한다. 한 오솔길의 길이는 1이다. 어떤 오두막에서도 다른 모든 오두막으로 하나 이상의 오솔길을 따라 이동하는 것이 가능하다. 오두막들은 1번부터 N번까지 번호가 붙어 있으며, 1번 오두막이 산 정상에 있다. 1번 오두막에서 다른 오두막으로 가는 가장 짧은 길을 따라가면서 거치는 모든 오솔길들은 항상 산을 내려가는 방향이다. 철수는 등산 마니아이다. 철수가 한 오두막에서 다른 오두막으로 갈 때는 항상 산 정상을 거..
코딩테스트 #2. 회전 배열 문제 ( 문제 ) 입력의 n, 과 불값인 clockwise가 주어집니다. 문제 설명은 아래의 그림을 참고해주세요 위의 그림처럼 n과 clockwise가 주어질 때 그림의 마지막 부분의 숫자 배열을 리턴해주는 게 출력을 원하는 문제입니다. 문제를 풀면서 여러가지 방식을 고민했지만 결론적으로 풀이에 성공한 풀이만 설명하겠습니다. (문제 해설) 그림을 먼저 참고하시죠. 이렇게 풀이하면 좋은 점이 n이 홀수 일 때 짝수 일때 구분하지 않아도 된다는 점입니다. 짝수 일 때는 왜 될까요?라는 의문점이 드신다면 위의 그림처럼 한번 그려보시면 알 수 있습니다. clockwise가 True, False는 구분해야 되는데 제가 False까지는 코딩하기가 귀찮아서.. 그건 이걸 읽는 분들에게 맡깁니다. 아래는 코드입니다. [ 코..
코테 풀이를 시작하며.. 다음장부터 코테 코테 풀이를 적을 예정입니다. 기본적으로 풀이를 제공하지 않기 때문에 제가 기억하는 문제와 다른 사람들이 유사하다는 문제를 대신 풀면서 풀이하고자 합니다 2번, 4번을 풀이를 할 것이고, 4번은 백준의 등산마니아와 유사하다고 하길래 등산 마니아를 풀이하는 쪽으로 시작합니다. 고득점 kit는 이 두 문제의 풀이를 마치고 계속 진행할 예정입니다.
프로그래머스 코딩테스트 연습 - [해쉬] - #2. 전화번호 목록 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 입출력 예제pho..

728x90