C++
-
기능개발프로그래머스(Programmers) 2021. 9. 5. 22:00
#include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int last = progresses.size(); //3개 원소면 3리턴 int end = last; int cnt =0; int start =0; while(end > 0) { for(int i=0; i0) { answer.push_back(cnt); end -=cnt; cnt=0; } } } } return answer; } => progresses 배열에 speeds 배열의 수를 차례대로 더해 100이 넘는 배열을 찾습니다. => progresses 배열에 100이 넘은 배열이 있을 경우, 앞에서부터 차례로 ..
-
-
백준 1193 - 분수찾기백준 algorithm 2021. 1. 4. 22:41
=> 단순한 규칙성을 찾는 문제입니다. => 처음부터 끝까지 찾아갈 경우 시간제한에 걸리는 경우가 생길 수 있습니다. x가 몇번째 줄에 해당하는지 찾습니다. 해당 줄이 짝수인지 홀수인지 판별합니다. 각 줄의 성질에 따라 deno(분모), nume(분자)를 구하여 print 합니다. 각 줄에 있는 분수는 아래의 성질을 만족합니다. line + 1 = 분모 + 분자 위의 성질을 이용하여 for문을 통한 탐색이 아닌 사칙연산으로 원하는 분수를 구할 수 있습니다. #include #include using namespace std; void Print(int deno, int nume) { cout
-
백준 2523 - 별 찍기 - 13백준 algorithm 2020. 8. 24. 22:33
단순한 별 찍기 문제입니다. 입력받은 숫자만큼 별의 개수를 늘려 프린트를 한다 입력받은 숫자까지 별의 갯수를 프린트한 경우 숫자를 줄여가며 별을 프린트합니다. 간단한 문제이기 때문에 코드를 보시면 이해가 됩니다. #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N; cin >> N; int cnt=1; while(cnt
-
백준 1264 - 모음의 개수백준 algorithm 2020. 7. 24. 01:59
=> 단순히 모음의 개수를 확인하면 되는 문제입니다. => 하나의 문자열을 길게 입력받아야 하므로 getline을 써야 합니다. http://blog.naver.com/PostView.nhn?blogId=jhnyang&logNo=221514208149&categoryNo=33&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search [C/C++]C언어 istream::getline()과 C++ string의 getline()! 한 줄 읽는 함수가 두 개? [C/C++]포스팅에 들어가기 전 cstring vs string.h vs string 스트링클래스 차이(C-strings vs std::str... blog.naver.com ..
-
pair형 vector 정렬하기 / vector<pair< a, b>> sort /compare, greater, less유용한 정보 2020. 7. 23. 19:45
알고리즘 문제를 풀다 보면 언어에 이미 구현되어있는 헤더를 사용하면 편한 것이 많습니다. 그중 많이 쓰이는 것이 pair와 vector입니다. 이 두가지를 혼용할 경우, 정렬해야 할 경우가 심심치 않게 많습니다. 이 방법을 정리해보겠습니다. 1. greater, less sort(v.begin(), v.end()); // 오름차순 sort(v.begin(), v.end(), less()); // 오름차순 sort(v.begin(), v.end(), greater()); // 내림차순 => 기본적으로 greater와 less를 지정해주지 않으면 오름차순으로 정렬됩니다. 오름차순 : 양 또는 수가 차례로 늘어가는 것 , 작은 것부터 큰 것으로 가는 순서 내림차순 : 양 또는 수가 차례로 줄어가는 것, 큰 것..
-
백준 11650 - 좌표 정렬하기백준 algorithm 2020. 7. 23. 19:32
=> pair와 sort 함수를 사용할 줄 아는지 묻는 문제입니다. => x좌표와 y좌표는 같이 움직여야하는 하나의 객체이므로, 클래스로 표현하여도 되지만, 이미 c++ 에는 pair가 있습니다. => pair를 사용해서 푸시면 훨씬 간단하게 해결이 가능합니다. x좌표와 y좌표를 입력받은 후 pair를 작성한 후, vector에 삽입한다. 문제에 주어진대로, x좌표를 먼저 비교하고, y좌표를 비교하여 정렬시킨다. bool cmp(const pair &a, const pair &b) { if (a.first == b.first) { return a.second x좌표가 같으면 y좌표를 확인하는 비교 함수 http..
-
백준 2667 - 단지번호붙이기백준 algorithm 2020. 7. 23. 15:14
=> dfs를 적용하여 풀면 되는 문제입니다. 인접한 곳을 확인할 수 있는 행렬을 생성합니다. 해당 행렬을 통해 현재 확인하고 있는 정점의 주위 행렬을 확인합니다. 주위를 확인해갈때 범위가 넘어가지 않았는지 확인합니다. 더 이상 확인할 곳이 없을 때, 하나의 단지가 끝납니다. 이러한 방식으로 모든 구역에 있는 집들을 확인합니다. #include #include #include #include #include #include using namespace std; int N; int Map[26][26]={0}; bool Visited[26][26]={false}; vector NoHome; int cnt; int dx[4]={-1,1,0,0}; int dy[4]={0,0,1,-1}; void dfs(int..