전체 글

항공대 알고리즘 동아리 Koala 🥰
· Koala - 2기
안녕하세요! 모의테스트 푸시느라 고생 많으셨습니다. 문제가 맵지 않았나요? 사실, 좀 어려운 문제들이었어요. 알고리즘에 대한 깊은 이해가 필요한 문제들이었습니다. 못푸셨다고 좌절할 필요 없어요(저도 다 못풀어요)! 그럼 풀이를 시작하겠습니다! www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 예시로 주어진 그림을 자세히 보면, 대각으로 규칙이 있습니다. 빨간 대각 선을 기준으로, 분자와 분모의 합은 같습니다. 우리가 찾아낸 규칙을 통해 다음과 같은 규칙을 생각해 볼 수 있을 것 같습니다. 1. 우리가 찾을 X번째의 대략적인 위치를 찾는다. (분모 + 분자를 통해서 2, 3, 3, 4, 4, ..
youtu.be/V_Z77_klksI youtu.be/9aHVA7mJcqQ youtu.be/CqY4xhHjdbQ
· Codeforce
문제 링크 atcoder.jp/contests/arc111 A. Simple Math 2 문제 정수 N, M이 주어졌을 때 (|10^N / M|) % M 값을 구하는 문제입니다. 1 bag[i]; } for(int i=0;i> now[i]; now[i]--; temp[now[i]] = i; } sort(v.begin(),v.end()); vector ans; for(auto& i : v){ int& weight = i.first; int& idx = i.second; if(now[idx]==idx) continue; int dest = temp[idx]; if(person[idx]
이것도 빼먹었군요.. 강의 중 코드에 ios::sync_with_stdio(0); cin.tie(0); cout.tie(0) 이라고 main 선언 바로 밑에 한 줄이 있을 텐데, 이 코드는 c++ 사용시 c 표준 스트림과 c++ 표준 스트림의 동기화를 없애는 코드입니다. 기본적으로 c++을 사용할 때는 ios::sync_with_stdio(true); 가 기본값이기 때문에 우리는 c 표준 스트림인 scanf, printf 와 c++ 표준 스트림인 cin, cout을 동시에 사용할 수 있습니다. 하지만 이 둘을 동시에 허용하면 당연히 시간이 느려집니다. 따라서 ios::sync_with_stdio(false = 0); 을 선언하여 cin, cout을 scanf, printf 만을 사용하는 것과 같은 시간대..
ot에서 깜박하고 이 부분 설명을 못 드렸네요! 팀 블로그에 코드를 올리거나, 접는 글을 활용하는 방법에 대해 간략히 포스팅하겠습니다. 1. 접는 글 쓰기 위 사진을 보면, 풀이와 소스 코드는 "더보기"로 숨겨져 있는 것을 볼 수 있는데요, 이 부분은 다음과 같은 과정을 거쳐 만든답니다! 1. 우측 상단 ... 버튼을 누른다! 2. 접은글을 누르면 3번 처럼 점선 네모 박스가 등장합니다! 3. 네모 박스 안에 내용을 적는다! 2. 코드 작성하기 다음은 코드를 작성한 글을 직접 볼 때 나타나는 화면입니다. 이것도 한 번 만들어보죠! 1. 우측 상단 ... 버튼을 누른다! 2. 코드 블럭 버튼을 누르면 다음과 같은 화면이 나옵니다! 3. 코드를 그대로 복붙하면 화면처럼 검은 화면에 글씨가 이쁘게 써질거에요!..
youtu.be/ykZZbNCAEJU 안녕하세요! 이번 겨울 방학동안 알고리즘 강의를 진행하게 될 Koala 회장 천수환이라고 합니다! 한 2번 돌려봤는데 제가 봐도 좀 답답하네요... ㅋㅋ 아무쪼록 잘 봐주세요 ㅠㅠ 점점 성장해보겠습니다.. 모의 테스트는 여기서 봐요! 연습 문제는 여기! 커리 큘럼은 다음과 같습니다.
· Codeforce
문제 링크 codeforces.com/contest/1467 A. Wizard of Orz 문제 0~9까지 표현이 가능한 디지털 패널이 n개가 있다고 한다. 이 패널은 매초 1씩 증가하다가 9가 된 다음 1초 후에는 0으로 다시 표기된다. 이 패널을 멈추면 숫자가 일시정지가 되는데, 만약 패널이 일시정지가 되면 인접한 패널도 1초 뒤에 일시 정지가 되고, 그 일시 정지된 패널의 인접한 패널도 1초 뒤 일시 정지가 되고, ... 이 과정을 반복하여 패널들이 전부 멈출 때까지 반복이 된다고 한다. 디지털 패널을 딱 한 개만 선택하여 멈추게 할 수 있을 때, 패널이 표현할 수 있는 가장 큰 수를 출력하시오. 모든 패널은 전부 0에서부터 시작한다. 풀이 1 더보기 숫자를 0~9중 하나를 선택하는 것인데, 최대 ..
1. 코딩 테스트 준비반 대상 겨울 방학 동안 코딩 테스트 준비를 해보고자 하는 분! 목표 1. 코딩테스트 문제를 보고, 어떤 식으로 풀어야 할지 생각할 수 있는 역량 기르기 2. 좀 더 효율적인 접근, 코드 교정 계획 1. 주 2회 자체 제작 강의를 시청 후 관련 알고리즘 문제를 통해 복습합니다. 2. 문제는 매일 3문제씩 백준 온라인 저지 문제를 선별해 드릴 예정이며 안 풀리는 문제는 멘토들에게 도움을 받거나, 학회 slack에 도움을 요청해서 반드시 풀어야 합니다. 3. 또한 주 2회는 매일 푸는 문제들을 팀즈미팅을 통해 멘토들과 함께 시간을 정해놓고 문제를 풀고, 멘토 주도적으로 리뷰 및 각자 풀이에 대해 피드백하는 시간을 갖습니다. (날짜 및 시간 조정 가능) 4. 특히 어려웠거나, 새로운 내용..
· Codeforce
문제 링크 codeforces.com/contest/1471 A. Strange Partition 문제 n개의 정수 배열 a와 정수 x가 주어진다. 원하는 만큼 배열 안에 인접한 원소 두 개를 합쳐 하나로 만들 수 있다. 만약 이 작업을 하면 배열의 원소는 -1씩 줄어든다. 배열의 아름다움이란 배열의 각 원소를 주어진 정수 x로 나눈 후, 올림 한 값들을 더하여 나타내는데, 적당히 작업을 하여, 배열의 아름다움의 최소값과 최댓값을 나타내라. 풀이 1 더보기 나누고 몫을 올림 한다는 것은 원소가 많을 때 이득입니다. 만약 배열 내 원소 k가 있다고 하면, k는 두 가지 경우로 나뉩니다. 1) k가 x로 나누어 떨어지는 경우 : 이 경우 합치나 더하나 차이가 없습니다. 2) k가 x로 나누어 떨어지지 않는 ..
· Codeforce
문제 링크 codeforces.com/contest/1472 A. Cards for Friends 문제 n명의 친구들에게 w x h 크기의 종이를 잘라 나누어 주고자 한다. 자르는 데에는 두 가지 규칙이 있다. w가 짝수일 때, 종이는 반으로 잘라 (w/2) x h 크기 종이 2장으로 만들 수 있다. h가 짝수일 때, 종이는 반으로 잘라 w x (h / 2) 크기 종이 2장으로 만들 수 있다. 주어진 w x h 크기 종이를 적당히 잘라 최소 n 조각을 만들 수 있는가? 풀이1 더보기 w, h 는 반드시 "짝수" 여야 종이의 개수를 늘릴 수 있다. 여기서 종이는 정확히 x 조각을 맞출 필요가 없기 때문에, 최대한 늘이는 방향으로 생각하자. 따라서, 종이의 최대 개수는 w, h 를 각각 "더 이상 짝수가 아..
· Koala - 2기
www.acmicpc.net/problem/14565 14565번: 역원(Inverse) 구하기 집합 Zn을 0부터 n-1까지의 정수 집합이라고 하자. Zn ∋ a, b, c 일 때, (a+b) mod n = 0이면 b는 a의 덧셈역이라고 하고 (a*c) mod n = 1이면 c는 a의 곱셈역이라고 한다. 정수 N, A가 주어졌을 때 Zn에서의 A의 www.acmicpc.net 나머지 연산의 덧셈 역과 곱셈 역을 구하는 문제입니다. 덧셈역은 쉽게 구할 수 있지만 곱셈 역은 구하기 어려워보입니다. 1. 덧셈역 구하기 어떤 수 A와 M을 안다고 가정할 때, A%M을 0으로 만드는 덧셈 역 C는 M-A입니다. 이는 생각해보면 매우 간단합니다. 아래의 예를 볼까요? 5 % 13 = 5입니다. 13 % 13 = ..
· Codeforce
문제 링크 문제링크 A. Large Digits 알고리즘 Input을 string으로 받아서 index로 각각에 접근하여 해결할 수 있습니다. 정답 코드 #include using namespace std; int foo(string a, string b) { int A = 0; int B = 0; for (int i = 0; i > ..
KauKoala
Koala