목록2024/04/01 (3)
체뚱로그
풀이 시간: 57m13s61(고민) + 28m16s94(참고) 시간 복잡도: O(NlogN) 공간 복잡도: O(N^2) 참고 자료: https://youtu.be/WjmEVp-Lgns?si=XVtJgDCWHFl45pv6 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) 출력 첫째 줄부터 N번째 줄까지 별을 출력한다. 문제 풀이 문제를 분석해봤지만, 발상이 잘 떠오르지 않아서 일단 냅다 삼각형부터 만들어보았다. #include using namespace std; int N; void triangle() { int odd = 1, width = N * 2 - 1..
풀이 시간: 2h31m38s54 시간 복잡도: O(4^5 * N^2) 공간 복잡도: O(N^2) 참고 자료: https://velog.io/@statco19/boj-12100 문제 입력 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. 출력 최대 5번 이동시켜서 얻을 수 있는 가장 큰 블록을 출력한다. 문제 풀이 전체 코드 #include #include #include #include using namespace std; int N, ans = 0; vec..
풀이 시간: 56m24s43(문제 분석 및 정리) + 2h26m07s88(코드 작성) + 6m22s28(반례 수정) 시간 복잡도: O(N) 공간 복잡도: O(N) 문제 (문제가 길어서 생략. 맨 하단 사이트의 원문 참고) 입력 출력 문제 풀이 위와 같은 방식으로 다음처럼 구현하였다. 코드 #include #include #include using namespace std; int N, score = 0, cnt = 0; vector v; bool blue[4][6] = { false, }; // 행(4) x 열(6) bool green[6][4] = { false, }; // 행(6) x 열(4) void tile() { for (int i = 5; i >= 0; --i) { for (int j = 0;..