講義
受講レビュー
- SW 역량テスト合格 A型 with C++ (Advanced Algorithm)
- SW 역량テスト合格 A型 with C++ (Advanced Algorithm)
投稿
Q&A
(반)시계 회전 함수의 N, M 처리 방식
안녕하세요! 회전 전, 후 (N, M) 기준으로 생각하는 것보다, row와 col의 범위를 보고 생각하시면 편할 것 같습니다.clockwise에서 for문의 c의 범위는 1부터 M까지이니 M + 1 - c가 되어야하고,counterClockwise에서 r의 범위가 1부터 N이니 N + 1 - r이 됩니다. 그래서 회전 전,후를 기준으로 N과 M을 그대로 쓰냐, 바꿔서 쓰냐는 관계가 없습니다.input.txt에 N x M 배열을 입력해서 N이나 M을 바꿔보면서 결과를 보시면 더 이해가 잘 되실 것 같습니다. 또 문의사항이 있으면 답변 드리겠습니다. 감사합니다.
- 0
- 1
- 44
Q&A
안녕하세요 선생님 코드트리 원자충돌(2020 하반기 오전 2번)에서 질문 있습니다.
안녕하세요. 피로물든딸기 입니다. 보여주신 일부 코드는 원자를 1칸씩만 움직이는 것 같고, 좌표의 기준을 (0, 0)으로 잡으신 걸까요?해당 내용으로는 크게 문제가 없어보입니다.작성하신 전체 코드를 올려주시면, 다시 답변드리겠습니다! 제가 작성한 한 칸씩 이동한 코드는 잘 동작하는 것을 확인하였습니다. for (int i = 0; i N) nr = 1; if (nc > N) nc = 1; if (nr 전체 코드는 다음과 같습니다.#include #define MAX (50 + 5) int T; int N, M, K; struct ATOM { int r; int c; int m; // 질량 int s; // 속력 int d; // 방향 }; ATOM atom[100000 + 5000]; int acnt; // ↑, ↗, →, ↘, ↓, ↙, ←, ↖ int dr[] = { -1, -1, 0, 1, 1, 1, 0, -1 }; int dc[] = { 0, 1, 1, 1, 0, -1, -1, -1 }; struct INFO { int m; // 질량 int s; // 속력 int d; // 방향 int even; // 상하좌우 int odd; // 대각선 int count; // 원자의 개수 }; void input() { scanf("%d %d %d", &N, &M, &K); acnt = 0; for (int i = 0; i N) nr = 1; if (nc > N) nc = 1; if (nr 감사합니다.
- 1
- 2
- 63
Q&A
BOJ 2234 성곽 문제 코드에서 질문 있습니다.
안녕하세요. 피로물든딸기 입니다. 말씀하신대로, open을 판단할 때, 양쪽 모두 확인할 필요가 없습니다.성곽 문제의 경우, room1의 특정 방향에 벽이 있는 경우, room2에서 해당되는 방향에 벽이 있도록 입력이 주어지게 됩니다.강의에서는 연습으로 조금 더 까다로운 입력 (room2에 해당되는 벽의 정보가 없는 경우)을 가정하였습니다.강의 노트에서 정답 코드 아래에 isOpen 개선 코드가 첨부되어 있으니 참고 부탁드립니다. 감사합니다.
- 2
- 1
- 106