반응형

2024/11 31

[프로그래머스] 같은 숫자는 싫어 / C++ 풀이

[프로그래머스]  같은 숫자는 싫어 / C++ 풀이 📝문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 🔎 제한사항배열 arr의 크기 : 1,000,000 이하의 ..

[프로그래머스] 정수 내림차순으로 배치하기 / C++ 풀이

[프로그래머스]  정수 내림차순으로 배치하기 / C++ 풀이 📝문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 🔎 제한사항n은 1이상 8000000000 이하인 자연수입니다.🎀입출력 예시🧐 풀이#include #include #include using namespace std;long long solution(long long n) { string newnumber = to_string(n); sort(newnumber.begin(), newnumber.end(), greater()); return stol(newnumber);}

[프로그래머스] 가장 큰 수 / C++ 풀이

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

[프로그래머스] K번째수 / C++ 풀이

[프로그래머스]  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의..

[프로그래머스] 체육복 / C++ 풀이

[프로그래머스]  체육복 / C++ 풀이 📝문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 ..

[프로그래머스] 내적/ C++ 풀이

[프로그래머스]  내적 / C++ 풀이 📝문제 설명길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 🔎 제한사항a, b의 길이는 1 이상 1,000 이하입니다.a, b의 모든 수는 -1,000 이상 1,000 이하입니다.🎀입출력 예시🧐 풀이 #include #include using namespace std;int solution(vector a, vector b) { int answer = 0; for(int i = 0; i

[프로그래머스] 폰캣몬/ C++ 풀이

[프로그래머스]  폰캣몬/ C++ 풀이 📝문제 설명당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.첫 번째(3번), 두 번째(1번) 폰켓몬을 선택첫 번째(3번)..

카테고리 없음 2024.11.24

[프로그래머스] 문자열 다루기 기본/ C++ 풀이

[프로그래머스]  문자열 다루기 기본/ C++ 풀이 📝문제 설명문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 🔎 제한사항s는 길이 1 이상, 길이 8 이하인 문자열입니다.s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.🎀입출력 예시🧐 풀이#include #include using namespace std;bool solution(string s) { if(s.length() != 4 && s.length() != 6){ return false; } for(int i = 0; i

[프로그래머스] 문자열 내림차순으로 배치하기/ C++ 풀이

[프로그래머스]  문자열 내림차순으로 배치하기/ C++ 풀이 📝문제 설명문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 🔎 제한사항str은 길이 1 이상인 문자열입니다.🎀입출력 예시🧐 풀이#include #include #include using namespace std;string solution(string s) { string answer = s; sort(answer.begin(), answer.end(),greater()); return answer;}

[프로그래머스] 자연수 뒤집어 배열로 만들기 / C++ 풀이

[프로그래머스]  자연수 뒤집어 배열로 만들기 / C++ 풀이 📝문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 🔎 제한사항n은 10,000,000,000이하인 자연수입니다.🎀입출력 예시🧐 풀이 #include #include #include using namespace std;vector solution(long long n) { vector answer; string tem = to_string(n); // 문자열로 변경 for(int i = 0; i

반응형