본문 바로가기

Algorithm/Baekjoon

(5)
[Baekjoon] 백준 C++ 16235 나무재테크 #사람마다 푼 방법이 다릅니다. 아 이런 코드도 있구나라는 생각만 가져주시면 감사하겠습니다. 제 코드에 있어서 비효율적인 부분이 있으면 댓글로 남겨놔 주시면 참고하여 성장할 수 있도록 하겠습니다!!! 하지만!!! 무분별한 비난은 삼가 주세요! 해당 문제는 처음 생각해보면 어렵게 생각할 수 있습니다. 하지만 전혀 그렇지 않습니다. 저는 구조체를 선언한 후 4개의 queue를 생성해서 문제를 풀었습니다. 1. tree : 나무 전체를 관리할 queue 2. temp_tree : 해당 queue가 필요한 이유는 새로 생성된 tree를 먼저 tree queue에 먼저 넣기 위해서 임시 보관용으로 3. new_tree : 기존에 있던 나무들이 번식한 후 넣어지게 되는 tree입니다. 지금 생각해보니 굳이 해당 q..
[Baekjoon] 백준 C++ 14499 주사위 굴리기 #사람마다 푼 방법이 다릅니다. 아 이런 코드도 있구나라는 생각만 가져주시면 감사하겠습니다. 제 코드에 있어서 비효율적인 부분이 있으면 댓글로 남겨놔 주시면 참고하여 성장할 수 있도록 하겠습니다!!! 하지만!!! 무분별한 비난은 삼가 주세요! 오늘은 주사위 굴리기 문제를 풀어봤습니다. 핵심 부분을 정리해봤습니다. 1. 배열로 주사위를 구현했으며, 3번 인덱스가 출력해야하는 부분이며, 1번인덱스가 지도와 닿는 부분입니다. 2. 모든 주사위 면은 0으로 시작하며, 이동한 지점의 지도가 0이면 주사위의 어떤 수든 지도로 복사되고, 지도가 0이 아니면 지도의 어떤 수든 주사위로 복사 후 지도는 0이 됩니다. 3. 주사위가 바깥으로 나가려고 하면 출력도 금지하고 아무 행동도 하면 안됩니다. 4. 주사위를 이동시키..
[Baekjoon] 백준 C++ 15686 치킨배달 #사람마다 푼 방법이 다릅니다. 아 이런 코드도 있구나라는 생각만 가져주시면 감사하겠습니다. 제 코드에 있어서 비효율적인 부분이 있으면 댓글로 남겨놔 주시면 참고하여 성장할 수 있도록 하겠습니다!!! 하지만!!! 무분별한 비난은 삼가 주세요! 해당 문제는 처음에 집을 바탕으로 bfs를 할까 치킨을 바탕으로 bfs를 할까 고민이 많았습니다. 결론은 치킨집들을 바탕으로 bfs를 진행했으며, dfs를 통해서 M만큼 치킨집을 선택후에 선택된 치킨집들에 한해서 bfs를 진행 후 계산을 했습니다. 함수명 또는 변수명 선택하는게 제일 어렵네요,,,ㅎㅎ #include #include #include #define SIZE 50 using namespace std; vector house; vector chicken;..
[Baekjoon] C++ 12100 EASY #사람마다 푼 방법이 다릅니다. 아 이런 코드도 있구나라는 생각만 가져주시면 감사하겠습니다. 제 코드에 있어서 비효율적인 부분이 있으면 댓글로 남겨놔 주시면 참고하여 성장할 수 있도록 하겠습니다!!! 하지만!!! 무분별한 비난은 삼가 주세요! 해당 문제는 단순 시뮬레이션 + 구현문제입니다. 저는 백준 페이지에서 참고로 할 수 있는 게임을 통해서 문제를 풀어봤습니다. 그리고 블럭을 옮기는 부분을 3가지 단계로 구현했습니다. 먼저 해당 방향으로 옮기기, 블럭 합치기, 빈칸이 생겼으니 다시 블럭 옮기기로 나눴습니다. #include #define SIZE 20 using namespace std; int N; int map[SIZE][SIZE]; int copyMap[SIZE][SIZE]; int dir[5]..
[Baekjoon] C++ 15685 드래곤커브 #사람마다 푼 방법이 다릅니다. 아 이런 코드도 있구나라는 생각만 가져주시면 감사하겠습니다. 제 코드에 있어서 비효율적인 부분이 있으면 댓글로 남겨놔 주시면 참고하여 성장할 수 있도록 하겠습니다!!! 하지만!!! 무분별한 비난은 삼가 주세요! 해당 문제는 처음 생각해보면 어렵지만, 규칙을 알면 쉽게 풀 수 있습니다. 세대를 지날수록 vector에 제일 마지막으로 추가된 방향부터 제일 처음의 방향까지 +1 한 값을 vector에 추가해줍니다. 중요한 점은, vector의 size를 미리 변수에 넣어줌으로써 예외처리를 막을 수 있습니다. 만약 추가해야 할 방향이 4면 범위를 벗어나기 때문에 0으로 만들어줌으로써 해결할 수 있습니다. #include #include #define SIZE 101 using n..