c++

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 크기가 작은 부분문자열

문제 코드 #include #include #include using namespace std; int solution(string t, string p) { int answer = 0; long long t_length = t.length(); long long p_length = p.length(); long long num = stoll(p); for (int i = 0; i

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 이상한 문자 만들기

문제 코드 #include using namespace std; string solution(string s) { string answer = ""; int index = 0; for (char& i : s) { if (i == ' ') { index = 0; continue; } i = index & 1 ? (char)tolower(i) : (char)toupper(i); index++; } } 문제 해설 - string 을 foreach 로 순회한다. - 단어마다 몇번째 인덱스인지 알 수 있도록 int index 선언 - 만약 i 가 " "가 공백이면 index 를 초기화 시키고 continue; - index가 홀수라면 i를 소문자로 변환 -> tolower(i) - index가 짝수라면 i를 대문..

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 예산

문제 코드 #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(), d.end()); for (const int i : d) { if (budget < i) { break; } budget -= i; answer++; } return answer; } 문제 해설 - 최대한 많은 부서가 구매할 수 있도록 신청한 금액이 제일 적은 것이 먼저 오도록 sort 함수로 정렬해준다. - 그 후 foreach 로 예산을 금액만큼 차감한다. 그리고 횟수를 더한다. - 만약 남은 예산보다 i 가 클경우 중단한다.

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 3진법 뒤집기

문제 코드 #include #include using namespace std; int solution(int n) { int answer = 0; vector three; int temp = n; while (temp) { three.emplace_back(temp % 3); temp /= 3; } reverse(three.begin(), three.end()); int m = 1; for (int i : three) { answer += (i * m); m *= 3; } return answer; } 문제 해설 - 3진법을 저장할 vector 를 만들어준다. - n이 0이 될 때까지 3으로 나눈 나머지를 3진법 vecotr 에 넣어주고 3으로 나눠준다. - reverse 함수를 통해서 배열을 뒤집어준..

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 같은 숫자는 싫어

문제 코드 #include #include using namespace std; vector solution(vector arr) { vector answer; answer.emplace_back(arr[0]); for (int& i : arr) { if (answer.back() != i) answer.emplace_back(i); } return answer; } 문제 해설 - answer 배열에 arr 배열 0번째를 넣고 back()을 이용해서 answer 배열에 i가 있는지 체크해서 없으면 emplace_back(i)를 해준다.

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 최대공약수와 최소공배수

문제 코드 #include #include using namespace std; // 최대공약수 int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } // 최소공배수 int lcm(int a, int b) { return a*b/gcd(a,b); } vector solution(int n, int m) { vector answer; answer.emplace_back(gcd(n,m)); answer.emplace_back(lcm(n,m)); return answer; } // 또는 int lcm(int a, int b) { return a*b/__gcd(a,b); } vector solution(int n, int m) { vector a..

mane
'c++' 태그의 글 목록 (7 Page)