본문 바로가기

Algorithm/Programers - C++

(121)
[프로그래머스]문자열 내 마음대로 정렬하기 / multimap 문제 풀이 #include #include #include #include using namespace std; vector solution(vector strings, int n) { vector answer; multimap hash; sort(strings.begin(), strings.end()); for(int i=0; i
[프로그래머스]스택/큐 - 주식가격 문제 풀이 #include #include using namespace std; vector solution(vector prices) { vector answer(prices.size(), 0); for(int i=0; i
[프로그래머스] 같은 숫자는 싫어 / unique 문제 풀이 #include #include using namespace std; vector solution(vector arr) { vector answer(1,arr[0]); for(int i=1; i
[프로그래머스] 부족한 금액 계산하기 문제 풀이 using namespace std; long long solution(int price, int money, int count) { long long answer = 0; for(int i=count; i>0; i--) { answer += (price * i); } return answer-money>0?answer-money:0; } answer의 자료형이 int일 경우 잘못된 정답이 나오게 되는데 int와 long long자료형의 값의 범위가 다르기 때문이다. 유형이름 바이트 값의 범위 int 4 –2,147,483,648 ~ 2,147,483,647 long long 8 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 int의 값이 범..
[프로그래머스]최소직사각형 문제 풀이 1 #include #include #include using namespace std; int solution(vector sizes) { int answer = 0; int w =0, h = 0; for(int i=0; i
[프로그래머스] 2016년 문제 풀이 #include #include using namespace std; string solution(int a, int b) { vector month = { 31,29,31,30,31,30,31,31,30,31,30,31 }; vector week = { "THU","FRI","SAT","SUN","MON","TUE","WED" }; int num = b; for (int i = 0; i < a - 1; i++) num += month[i]; return week[num % 7]; }
[프로그래머스]두 개 뽑아서 더하기 문제 풀이 #include #include #include using namespace std; vector solution(vector numbers) { set s; for(int i=0; i
[프로그래머스]약수의 개수와 덧셈 문제 풀이 #include #include #include using namespace std; int solution(int left, int right) { int answer = 0; for(int i= left; i> 1; i b ? 0 : sign(a)*a + solution(a + 1, b); } solution을 재귀 함수로 만들었고, sign 함수의 count & 1 부분을 이용하여 홀수, 짝수를 구분했다. 다양한 풀이들을 리뷰하는게 공부하는데 많은 도움이 되는 것 같다.