* 2/22 팀즈 미팅에서 푼 문제 해설입니다! 해당 문제는 "프로그래머스 - [코딩테스트 연습] - 2021 KAKAO BLIND RECRUITMENT - 카드 짝 맞추기" 에서 풀어보실 수 있습니다. 문제 게임 개발자인 베로니는 개발 연습을 위해 다음과 같은 간단한 카드 짝맞추기 보드 게임을 개발해 보려고 합니다. 게임이 시작되면 화면에는 카드 16장이 뒷면을 위로하여 4 x 4 크기의 격자 형태로 표시되어 있습니다. 각 카드의 앞면에는 카카오프렌즈 캐릭터 그림이 그려져 있으며, 8가지의 캐릭터 그림이 그려진 카드가 각기 2장씩 화면에 무작위로 배치되어 있습니다. 유저가 카드를 2장 선택하여 앞면으로 뒤집었을 때 같은 그림이 그려진 카드면 해당 카드는 게임 화면에서 사라지며, 같은 그림이 아니라면 원..
전체 글
항공대 알고리즘 동아리 Koala 🥰# '출석'은 정상적으로 3문제 푸신 분들이고, '보류'는 한문제 이상 푸신분들, '불이행'은 0문제 푸신 분들 입니다. # '보류'로 표시된 분들은 다음날 오전 12시까지 마무리 하시면 '출석'으로 바꿀수 있습니다. # ('보류' 상태에서 다음날 12시까지 마무리 못하시면 불이행입니다!) # '불이행' 3번일시 퇴출입니다. 1주차 1.11 1.12 1.13 1.14 1.15 1.16 1.17 김모경 출석 출석 출석 출석 출석 출석 출석 김영채 출석 출석 출석 출석 출석 출석 출석 김유정 출석 출석 출석 출석 출석 출석 출석 백경환 출석 출석 출석 출석 출석 출석 출석 이동연 불이행 출석 불이행 출석 반 이동 이예은 출석 출석 출석 출석 출석 출석 불이행 최경윤 출석 출석 출석 출석 출석 출석 출석 허태..
www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1≤N≤100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 번 www.acmicpc.net 문제 N개의 강의가 있다. 우리는 모든 강의의 시작하는 시간과 끝나는 시간을 알고 있다. 이때, 우리는 최대한 적은 수의 강의실을 사용하여 모든 강의가 이루어지게 하고 싶다. 물론, 한 강의실에서는 동시에 2개 이상의 강의를 진행할 수 없고, 한 강의의 종료시간과 다른 강의의 시작시간이 겹치는 것은 상관없다. 필요한 최소 강의실의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 강의의 개수 N(..
문제에 대한 해설은 그래프 기초 강의에 있습니다! 백준 4963번 - 섬의 개수 더보기 www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 코드 더보기 #include #include #include #include #include #pragma warning(disable:4996) using namespace std; int w, h; int check[60][60]; int map[60][60]; queue q; int dr[8] = {..
[문제 풀이] 영상 참고. www.youtube.com/watch?v=I0Dq42C0h8w&feature=youtu.be&ab_channel=%EC%B2%9C%EC%88%98%ED%99%98 [코드] #include #include using namespace std; int n, m, ans = 0; int field[8][8]; int clone_field[8][8]; int dx[] = { 0,0,-1,1 }; int dy[] = { -1,1,0,0 }; //바이러스를 퍼트림. void bfs(); //a field에 b field를 복사함. void clone_it(int(*a)[8], int(*b)[8]); //세개의 벽을 세움. void make_wall(int cnt); int main() ..
[문제 풀이] 영상 참고 www.youtube.com/watch?v=I0Dq42C0h8w&feature=youtu.be&ab_channel=%EC%B2%9C%EC%88%98%ED%99%98 [코드] #include #include #include #include using namespace std; int dx[] = { -1,1,0,0 }; int dy[] = { 0,0,-1,1 }; int field[101][101] = { 0, }; int visited[101][101] = { 0, }; int* alti; int n,cnt; queue q; void bfs(int alt, int cnt); int main() { int ans = -1; cin >> n; vector alti; for (int ..
[문제 풀이] 영상 참고 www.youtube.com/watch?v=I0Dq42C0h8w&feature=youtu.be&ab_channel=%EC%B2%9C%EC%88%98%ED%99%98 [코드] #include #include #include #include #include #include using namespace std; int n, m, v; vector a[1001]; bool visited[1001] = { 0, }; stack s; void dfs(int v); void bfs(int v); int main() { ios_base::sync_with_stdio(0); int ltemp, rtemp; cin >> n >> m >> v; while (m--) { cin >> ltemp >> ..
1. 그래프 기초 강의 youtu.be/GXM1-xHIbxc 2. bfs, dfs 기초 강의 youtu.be/9gM3lnhENMA 3. bfs, dfs 문제 강의 * 영상이 긴 관계로 강의 설명 부분에 각 문제별 영상 시간을 올려드릴테니, 경우에 맞게 넘어가시면 되겠습니다! youtu.be/I0Dq42C0h8w
www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오...
http://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을..
www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1≤N≤100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 번 www.acmicpc.net N개의 [강의 번호, 강의 시작시간, 강의 종료시간]이 있을 때, 강의 시간이 겹치지 않고 배정하기 위해 필요한 최소한의 강의실 개수를 구하라 이는 이미 시작한 강의의 종료시간이 새로 시작할 강의의 시작시간보다 작으면 강의실의 낭비를 줄일 수 있다. 먼저 강의 목록 중 시작시간과 종료시간을 입력받아 오름차순으로 정렬한다. //typedef pair pii; for (int i = 0; i < n; i..