본문 바로가기
728x90

Algorithm/Programmers7

[Summer/winter Coding ~ (2018)] 배달 https://programmers.co.kr/learn/courses/30/lessons/12978?language=cpp 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr (풀이) 인접리스트를 만들어 DFS를 이용하여 푼다. (1) Input, 노드간 가중치가 최소인 거리만을 인접리스트로 만들어준다. _distance[][] 사용 (2) check[from][to]로 이전 노드에서 다음 노드까지 거리를 구해준다. 이 거리를 구하는 이유는 재방문시 더 짧은 최단거리가 있으면 업데이트 .. 2020. 8. 7.
[Summer/winter Coding ~ (2018)] 스킬트리 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr (풀이) 1. Skill의 우선순위를 정한다. 2. Skill_trees 각 String원소들이 우선순위에 맞는지 확인한다. #include #include #include #include using namespace std; map _map; void check_priority(string skill); bool IsGetSkill(string spell); int solution(string skill, vector skill_trees) { int answer = 0; check_priority(skill); for (int i = 0; .. 2020. 8. 7.
[Level1]소수의 합(에라토스테네스의 체) [연습문제] C/C++ 소수 찾기1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.)제한 조건n은 2이상 1000000이하의 자연수입니다.입출력 예nresult10453입출력 예 설명입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환#define TRUE 1 #define FALSE 0 #include #include using namespace std; int solution(int n) { int answer = 0, Prime_count = 0; int isPrime = TR.. 2018. 10. 2.
[Level1] 두 정수 사이의 합 [연습문제] C/C++ 두 정수 사이의 합두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.입출력 예abreturn35123335312 풀이1)#include #include using namespace std; long long solution(int a, int b) { long long answer = 0; int step =0, temp = 0; step = (a - b); if (ste.. 2018. 10. 1.
[Level1] 문자열 내림차순으로 배치하기 [연습문제] C/C++ 문자열 내림차순으로 배치하기문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.제한 사항str은 길이 1 이상인 문자열입니다.입출력 예sreturnZbcdefggfedcbZ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #define MAX_SIZE 7 #include #include #include using namespace std; string solution(string s) { string get_string; get_string.. 2018. 9. 20.
[Level1] 문자열 내 마음대로 정렬하기[연습문제] C/C++ 문자열 내 마음대로 정렬하기문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.입출력 예stringsnreturn[sun, bed, car]1[car, be.. 2018. 9. 20.
[Level1] 문자열 내 p와 y의 개수 [연습문제] C/C++ 문자열 내 p와 y의 개수대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다.제한사항문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다.입출력 예sanswerpPoooyYtruePyyfalse입출력 예 설명입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.입출력 예 #2 'p.. 2018. 9. 20.
728x90