목록전체 글 (253)
bdfgdfg
#include #include #include using namespace std; string solution(string s) { sort(s.begin(),s.end(),greater()); return s; } greater는 내림차순. less는 오름차순. 다른 사람의 풀이중 람다를 사용한 풀이를 보았는데. 저런식으로. 함수 포인터(함수 객체등)를 만드는 연습을 해야겠다. sort(s.begin(),s.end(),[](const char& lhs, const char& rhs) { return lhs>rhs; }); 위의 방법을 응용한 람다가아닌 함수 객체 struct boo { bool operator()(const char& lhs, const char& rhs) { return lhs >..
#include #include using namespace std; string solution(vector seoul) { string answer = ""; int len = seoul.size(); for(int i = 0; i < len; ++i) { if(seoul[i] == "Kim") { answer = answer + "김서방은 " + to_string(i) + "에 있다"; break; } } return answer; } 좋은 문제라고 생각한다. 나는 처음에 static_cast(i + '0')식으로 풀었지만 풀리지 않았다. 곰곰히 생각해보니 아스키코드에서 10을 넘어가는 수를 표현하지 않았으니 문제가 발생. 그래서 string형으로 변환해준 후 집어넣어주었다.
에라토스테네스의 체 n의 수까지 소수를 구하는 알고리즘이다. 위 그림은 120까지의 소수를 구하는 그림인데 그림을 보아도 어떻게 진행이 될지 예상이 간다. 과정은 간단하다. 1. n + 1의 크기의 배열을 만들어준다. (초기화도 진행) 2. 2부터 n의 제곱근 까지 반복을 돌면서 해당하는 수(반복문의 i)의 배수에 해당하는 수를 체크한다. -> 제곱근을 구하는 이유는 2중 반복문(j라고 가정)에서 j는 i의 배수만큼 증가하면서 배열의 요소를 체크. 3. 체크되지 않은 수가 소수 #include #include #include using namespace std; int solution(int n) { int answer = 0; vector primeCount(n + 1); // 0(false)로 초기화..