HOME (207) 썸네일형 리스트형 [백준/C++] 11721번 열 개씩 끊어 출력하기 #include using namespace std; int main() { string answer; cin >> answer; cout [Leetcode/C++] 551. Student Attendance Record I class Solution { public: bool checkRecord(string s) { return s.find("LLL") != string::npos || count(s.begin(), s.end(), 'A') > 1 ? false : true; } }; string에 내장되어있는 find 함수를 이용해 LLL을 찾았거나 결석(A) 가 2번이상이면 false를 리턴하도록 구현하였다. stiring의 find 함수는 algorithm의 find 함수와 다르게 find(찾을문자, 시작점)을 주어준다. 문제: https://leetcode.com/problems/student-attendance-record-i/ Student Attendance Record I - LeetCode Level up.. [LeetCode/C++] 14. Longest Common Prefix class Solution { public: string longestCommonPrefix(vector& strs) { if(strs.empty()) return ""; sort(strs.begin(), strs.end()); string smallest = strs[0]; string biggest = strs[strs.size()-1]; string answer = ""; for(int i = 0; i < biggest.size(); i++) { if(smallest[i] == biggest[i]) answer += smallest[i]; else break; } return answer; } }; 맨 처음에는 모든 벡터를 돌아가면서 첫 문자부터 가장 길이가 짧은 문자열까지 반복하며 비교하는 것을 .. [LeetCode/C++] 844. Backspace String Compare class Solution { public: bool backspaceCompare(string s, string t) { string a = ""; string b = ""; for(int i = 0; i < s.length(); i++) { if(!a.empty() && s[i] == '#') a.pop_back(); if(s[i] != '#') a.push_back(s[i]); } for(int j = 0; j < t.length(); j++) { if(!b.empty() && t[j] == '#') b.pop_back(); if(t[j] != '#') b.push_back(t[j]); } return a.compare(b) == 0 ? true : false; } }; 이 문제는 #이 뒤로가기 버.. [프로그래머스/C++] 큰 수 만들기 #include #include using namespace std; string solution(string number, int k) { string arr = ""; arr.push_back(number[0]); int idx = 0; for(int i = 1; i < number.length(); i++) { if(idx == k) { arr.push_back(number[i]); continue; } if(arr.back() < number[i]) { arr.pop_back(); if(!arr.empty() && arr.back() < number[i])i--; else arr.push_back(number[i]); idx++; } else { arr.push_back(number[i]); } .. [프로그래머스/C++] JadenCase 문자열 만들기 #include #include using namespace std; string solution(string s) { if(!isdigit(s[0])) s[0] = toupper(s[0]); for(int i = 1; i < s.length(); i++) { if(isdigit(s[i])) continue; if(isupper(s[i])) s[i] = tolower(s[i]); if(isspace(s[i-1]) && isalpha(s[i])) s[i] = toupper(s[i]); } return s; } 이 문제는 단어의 첫글자가 알파벳이면 대문자로 만든 문자열을 출력하는 문제입니다. 간단하게 숫자라면 계속 넘어가고 대문자는 소문자로 바꿔주고 이전 값이 공백이고 현재 값이 문자라면 대문자로 변경하도록.. [프로그래머스/C++] 하샤드 수 #include #include using namespace std; bool solution(int x) { int answer = 0; int num = x; while(num > 0) { answer += num % 10; num /= 10; } return x % answer == 0 ? true : false; } 하샤드 수는 모든 자리수의 합을 의미하는데 ex) 210이 하샤드 수인가 확인한다면 2+1+0의 값인 3으로 210이 나누어 떨어진다면 하샤드 수입니다. 처음에 모든 자리수의 합으로 나누는 것이 아닌 자리수들이 10보다 작도록 더하는 것으로 이해하여 리트코드 Add Digits 문제와 같다고 생각했습니다. 그래서 %9 를 하여 while loop 없이 문제를 풀어내려고 했으나 모든 자.. [백준/C++] 1159번 농구 경기 #include using namespace std; int main() { vector answer('z'+1); int N; string str = ""; cin >> N; for(int i = 0; i > str; answer[str[0]]++; } str = ""; for(int i = 0; i = 5) str += (char)i; } cout 이전 1 ··· 18 19 20 21 22 23 24 ··· 26 다음