레벨1
-
프로그래머스 비밀지도 C++프로그래머스(Programmers) 2022. 3. 13. 11:46
=> 단순구현문제였습니다. => 10진수로 주어진 숫자를 2진수 숫자로 변환하여 string형 vector 변수로 표현하여야 합니다. string Binary(int num , int digit) // 십진수, 자릿수 { string s = bitset(num).to_string(); // 안에 있는 숫자는 몇자리까지 표현할지를 정한다. string value = s.substr(16-digit); // substr을 통해 필요한 숫자만큼만 쓴다. return value; } => 위는 10진수를 2진수로 표현하는 방법입니다. 필요한 자릿수만큼 사용하기 위해 substr 함수를 이용하였습니다. => 두 string형 vector map1 과 map2를 비교하여 둘중에 하나라도 벽이 있으면 '#'을 ..
-
예산프로그래머스(Programmers) 2022. 1. 21. 01:15
입출력 예 d budget result [1,3,2,5,4] 9 3 [2,2,3,3] 10 4 입출력 예 설명 입출력 예 #1 각 부서에서 [1원, 3원, 2원, 5원, 4원]만큼의 금액을 신청했습니다. 만약에, 1원, 2원, 4원을 신청한 부서의 물품을 구매해주면 예산 9원에서 7원이 소비되어 2원이 남습니다. 항상 정확히 신청한 금액만큼 지원해 줘야 하므로 남은 2원으로 나머지 부서를 지원해 주지 않습니다. 위 방법 외에 3개 부서를 지원해 줄 방법들은 다음과 같습니다. 1원, 2원, 3원을 신청한 부서의 물품을 구매해주려면 6원이 필요합니다. 1원, 2원, 5원을 신청한 부서의 물품을 구매해주려면 8원이 필요합니다. 1원, 3원, 4원을 신청한 부서의 물품을 구매해주려면 8원이 필요합니다. 1원, ..
-
신고 결과 받기 C++프로그래머스(Programmers) 2022. 1. 17. 21:37
#include #include #include #include #include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer(id_list.size()); map reportMap; //key : 신고한 사람, value : key값에게 신고당한 아이들 map reportCnt; // 신고당한 사람, 횟수 for (string s: report) { string tmp;//key와 value 들어갈 string string reporter; for(char ch : s) { if(ch == ' ') { reporter=tmp; tmp=""; continue; } tmp += ch; } i..
-
내적 C++프로그래머스(Programmers) 2021. 12. 15. 22:51
제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2 입니다. #include #include using namespace std; int solution(vector a, vector b) { int answer = 0; for(int i=0; i 문제에 주어진대로 그대로 구현하면 됩니다. => 내적을 구하는 문제이므로 a,b의 s..
-
크레인 인형뽑기 게임프로그래머스(Programmers) 2021. 12. 14. 00:51
[제한사항] board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다. board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다. 0은 빈 칸을 나타냅니다. 1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미하며 같은 숫자는 같은 모양의 인형을 나타냅니다. moves 배열의 크기는 1 이상 1,000 이하입니다. moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 자연수입니다. 입출력 예 board moves result [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 입출력 예에 대한 설명 입출력 예 #1 인형의 처음 상태는 문제에..
-
없는 숫자 더하기프로그래머스(Programmers) 2021. 12. 11. 23:27
제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 수 ≤ 9 numbers의 모든 수는 서로 다릅니다. 입출력 예 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 입출력 예 #2 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다. #include #include using namespace std; int solution(vector numbers) { int answer = 45; for(int i=0; i 0~9까지 더한 숫자는 45입니다. => numbers 각 인덱스..
-
K번째 수프로그래머스(Programmers) 2021. 11. 25. 20:31
입출력 예 설명 [1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다. [1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다. [1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다. #include #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; int comLimit = commands.size(); for(int i=0; i..