본문 바로가기

전체 글

(81)
프로그래머스 - 정렬/k번째수/C++ 문제 설명배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항array의 길이는 1 이상 100 이하입니다.array의 각 ..
프로그래머스 - 힙/더맵게/C++ 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..
프로그래머스 - 스택/큐/기능개발/C++ 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다.먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.  제한 사항작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다.작업 진도는 100 미만의 자연수입니다.작업 속도는 100 이하의 자연수입니..
프로그래머스 - 해시/위장/C++ 문제 설명스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다.예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다.스파이가 가진 의상의 수는 1개 이상 30개 이하입니다.같은 이름을 가진 의상은 존재하지 않습니다.clothes의 모든 원소는 문자열로 ..
프로그래머스 - 해시/전화번호 목록/C++ 문제 설명전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항phone_book의 길이는 1 이상 1,000,000 이하입니다.각 전화번호의 길이는 1 이상 20 이하입니다.같은 전화번호가 중복해서 들어있지 않습니다.입출력 예제 phone_bookre..
프로그래머스 - 해시/완주하지 못한 선수/C++ 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "kik..
자료구조- 자료구조 종류를 알아보자 자료구조 종류는 아래와 같다 하나씩 살펴보는 시간을 가지도록 하자 교수님... 왜 더 중요하다고 알려주시지 않으셨나요 ** 나무위키와 파이썬 알고리즘 인터뷰를 참고 하였다 ** 1. 단순 구조 우리가 흔히 말하는 데이터 타입 또는 자료형이 여기에 해당된다 나는 Python 같이 자료형에 유연한 언어를 사용할 때 가장 적응 안되는게 자료형이었다 C나 C++은 자료형에 엄하다 자료형의 종류는 링크를 통해 보면 좋을 것 같다 자료형 범위나 크기 같은 상세 부분은 다른 게시물로 정리하겠다 2. 선형구조 선형구조는 위에 그림에서 본 것처럼 리스트, 스택, 큐, 덱 등으로 구성된다 그림에는 없지만 배열도 포함됨 ㅇㅇ 리스트는 선형 리스트(Linear List)와 연결 리스트 (Linked List)가 있다 선형 구..
STRUCT와 UNION을 알아보자 STUCT(구조체)와 UNION(공용체)은 데이터를 묶음으로 사용하는 자료구조다 정의 방법도 비슷하고 사용 이유도 같지만, 둘의 차이점은 메모리 적재 방식이다 메모리에 어떻게 쌓이길래 다른지와 사용 방법에 대해 간단히 정리하겠다 ** 메모리 묶음 타입 ** C - STRUCT와 UNION 제공 C++ - Class, STRUCT, UNION 제공 1. STRUCT와 UNION 사용 방법 (1) STRUCT (구조체) 사용 struct라는 단어에 생소해할 필요는 없다 int, char형 등의 데이터 형과 결국에는 같다 ㅇㅇ STRUCT의 특징 - 데이터를 다채롭게 표현할 수 있다 - 데이터형의 역할이다 - 구조체 이름 지을 때는 C 명명 규칙 사용하면 좋다 - 구조체 확장 개념 → Class (C++에서)..