백준 algorithm
-
-
백준 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
-
백준 1094 - 막대기백준 algorithm 2020. 8. 9. 19:42
=> 간단한 구현 문제입니다. => 입력받은 X의 값이 bar의 값을 뺌에 따라 0이 될 때까지 빼주면 됩니다. => if문을 이용해서 간단히 해결할 수 있습니다. #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=0; int bar=64; while(N > 0) { if( bar
-
백준 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 ..
-
백준 10814 - 나이순 정렬백준 algorithm 2020. 7. 23. 20:07
=> pair형 vector 두 개를 사용해서 풀었습니다. => DB속 정규화 개념을 이용해 풀었습니다. => 입력되어지는 순서를 테이블 A와 B가 공유하는 값으로 설정하고, 형 pair를 생성하였습니다. https://codingham.tistory.com/184 백준 11650 - 좌표 정렬하기 => pair와 sort 함수를 사용할 줄 아는지 묻는 문제입니다. => x좌표와 y좌표는 같이 움직여야하는 하나의 객체이므로, 클래스로 표현하여도 되지만, 이미 c++ 에는 pair가 있습니다. => pair를 사용해서 codingham.tistory.com => 좌표 정렬하기에서 사용한 비교 함수를 사용해서 를 정렬한 후, 원하는 값을 출력하였습니다. #include #include #include #in..
-
백준 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..