본문 바로가기

Programming86

알고리즘 스터디 https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 처음에 무작정 DFS로 풀려고 전에 풀었던 문제들처럼 단순하게 생각해서 왔던 길만 체크했더니 당연히 실패했다. 이분그래프에대해서 검색하다가 각 정점이 파란색/빨간색으로 이루어져서 각각 연결된 그림을 보게되었고 그 아이디어로 문제를 풀게 되었다. 방문하지않은 정점은 0, 방문한 정점은 각각 1, 2로 교차하면서 체크해준다. #include #include using namespace std; int.. 2021. 12. 16.
알고리즘 스터디 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 유명한 BFS 문제이다. 평범하게 나이트가 갈 수 있는 좌표를 지정해놓고 범위 안에 있는지, 이미 지나갔었는지 체크하고 답을 구했다 #include #include #include #include #include #define ll long long int using namespace std; vector dx = {-2, -1, 1, 2, 2, 1, -1 ,-2}; vector dy = {1, 2.. 2021. 12. 7.
알고리즘 스터디 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net DFS를 사용해서 금방 해결했다. 25%에서 에러가 발생했었는데 기존에 사용했던 check 벡터와 v 벡터의 초기화를 해주지 않아서 발생한 문제였다 때문에 새로 시작할때 v.assign, check.assign으로 vector를 다시 초기화해서 해결했다 #include #include #include #include #define ll long long int // https://www.acmicpc.net/.. 2021. 11. 27.
알고리즘 스터디 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 대각선으로는 이동할 수 없고, 상하좌우로만 움직일 수 있기 때문에 axis라는 vector를 만들어서 반복을 돌렸고, 배열을 넘지않도록 조건문 추가 45열과 20열이 같은 조건문이라 줄일수 있는 방법이 있나 생각해봐야 할 것 같다. #include #include #include #include #include using namespace std; //https://www.acmicpc.net/pr.. 2021. 11. 22.
알고리즘 스터디 https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 백준 10942 팰린드롬 처음에 팰린드롬이 뭐지? 해서 검색해봤더니 앞에서 읽으나 뒤에서 읽으나 똑같은 단어라고 한다. 그냥 풀어도 풀수는 있지만 DP에 있는 문제여서 어떤 부분을 메모라이즈 해야되나 생각했는데 전단계 결과에 제일 처음숫자와 제일 마지막 숫자만 비교하면 될 것 같았다. 다만 고른 숫자의 개수가 1개나 2개인경우는 직접 계산하고 나머지는 메모라이즈 하도록 구현했다. #include #include #include #inc.. 2021. 9. 28.
Hacker rank day17 hacker rank 30 day challange 에서 예외 처리에 대한 문제가 나왔다. 예외 처리를 제대로 해본적이 없어서 헷갈렸는데 인터넷을 보고 std::exception 클래스를 상속받아 what() 함수를 override 했다. class CustomException : public std::exception{ public: const char * what() const noexcept override { return "n and p should be non-negative"; } }; 2021. 9. 27.