전체 글

항공대 알고리즘 동아리 Koala 🥰
· Codeforce
A. Contest Start 문제 및 풀이 예외처리를 좀 해줘야하는.. 코드는 간단한 사칙연산 문제입니다. 그럼에도 불구하고.. 저도 끝까지 못맞추고, 1000점 tag가 달린 걸 보니 A번치고 어려운 문제라고 볼 수 있겠네요. 문제 요약을 하자면, n명의 사람이 있고 각 사람은 t 기간동안 대회에 참가합니다. 다만 각 사람이 대회를 시작하는 시점이 모두 다른데, 1 ~ n 명의 사람은 각각 x, 2x, ..., nx 에 대회를 시작하게 됩니다. 이 때, 어떤 사람 i가 대회가 끝났을 때 시점으로 대회를 진행중인 또는 대회를 지금 시작할 사람의 수를 "불만족" 이라고 합니다. 모든 참여자의 불만족 합을 구하는 문제입니다. 이 문제는 주어지는 변수 n, t, x 에 따라 몇 가지 경우의 수가 있습니다. ..
· acm-icpc
1. 백준 14289번 - 본대 산책 3 (Gold 1 - 분할 정복 기법을 사용한 행렬 거듭제곱 dp 문제) 더보기 https://www.acmicpc.net/problem/14289 14289번: 본대 산책 3 가능한 경로의 수를 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 결국 정보대에서 정보대까지 d번만에 가는 경우의 수를 구해야 하는 문제였다. 이를 일반화 해보면 "A 노드에서 B 노드까지 d번만에 가는 경우의 수"를 구해야 한다. 이 부분을 dp스럽게 생각해보면 "A노드에서 B와 연결된 모든 노드까지 d-1번 만에 도착하는 경우의 수들의 합"과 같다. 즉 식으로 나타내면 다음과 같다. dp[i][j][k] = i 노드에서 j 노드까지 k번 만에 도착하는..
· acm-icpc
1. 백준 1086 박성원 (Platinum V - bitmask dp 문제) 더보기 https://www.acmicpc.net/problem/1086 1086번: 박성원 첫째 줄에 정답을 기약분수 형태로 출력한다. p/q꼴로 출력하며, p는 분자, q는 분모이다. 정답이 0인 경우는 0/1로, 1인 경우는 1/1로 출력한다. www.acmicpc.net 문제 N개의 수로 이루어진 집합이 주어진다. 이 집합의 순열을 합치면 큰 정수 하나를 만들 수 있는데, 합친 수가 정수 K로 나누어 떨어지는 순열의 개수를 구하는 문제이다. * 테스트 케이스 설명 집합 {3, 2, 1} 이 주어졌는데, 이 집합으로 만들 수 있는 순열은 다음과 같이 6가지 되시겠다. {1, 2, 3}, {1, 3, 2}, {2, 1, 3..
www.acmicpc.net/group/practice/9883/20 어려운 문제는 D번, E번 문제라고 생각합니다. D번은 다른 분이 삼성 기출 문제 대비로 만든 문제로 3월 27일 모의테스트에서 진행했었던 문제이고, E번은 옛날 삼성 역량테스트 기출 문제입니다. 1. BOJ 9971 The Hardest Problem Ever www.acmicpc.net/problem/9971 9971번: The Hardest Problem Ever Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was keeping himself alive. In order for him to survive, h..
www.acmicpc.net/group/practice/9883/18 2차원 리스트가 중요해서 2차원 리스트 3문제를 추가하였습니다. 문제는 6번이 제일 어려웠을 것이라고 생각합니다. 1. BOJ 12778 CTP 공국으로 이민 가자 www.acmicpc.net/problem/12778 12778번: CTP공국으로 이민 가자 신생국가 CTP공국은 자신들만의 글자가 없다. CTP공국의 왕 준형이는 전 세계 표준 언어인 알파벳을 사용하기로 했다. 하지만 숫자에 미친 사람들이 모인 CTP공국 주민들은 알파벳을 사용할 때 평 www.acmicpc.net 문제를 읽어보니 1을 입력 받으면 A를 출력하고, A를 입력 받으면 1을 출력하는 아스키 코드 변환 문제입니다. 1을 입력 받아서 A를 출력하려면 chr(1 +..
· Koala - 3기
푸시느라 고생하셨습니다~ 문제 구성 백준 17141번 연구소 2 백준 2602번 돌다리 건너기 백준 2437번 저울 이번 문제 셋은 어느덧 정신 차려보니 벌써 한 학기가 절반이나 지났길래 부랴부랴 난이도를 높여보았습니다. 그래 봤자 랑이 집사님은 19분 컷 하셨네요 😅🤣 1. 백준 17141번 연구소 2 bfs + 브루트 포스 (백트래킹) 문제입니다! 단순히 바이러스가 퍼지는 시간을 구하는 것은 생략하고, 백트래킹 시간 복잡도만 설명하고 넘어갈게요! 문제 입력에서 놓을 수 있는 바이러스의 개수 M의 범위는 최대 10입니다. 그리고, 바이러스를 놓을 수 있는 칸인 2의 개수는 M 이상, 10 이하라고 합니다. 따라서 바이러스를 놓는 경우의 수는 바이러스를 놓는 칸 중 M개를 뽑는 경우가 되겠네요 이 두 수..
www.acmicpc.net/group/practice/9883/17 이번 문제는 3번 문제가 문제 해석이 좀 힘들었겠고, 난이도는 5번이 제일 어려웠을 것으로 생각합니다. 1. BOJ 10769 행복한지 슬픈지 www.acmicpc.net/problem/10769 10769번: 행복한지 슬픈지 승엽이는 자신의 감정을 표현하기 위해서 종종 문자 메시지에 이모티콘을 넣어 보내곤 한다. 승엽이가 보내는 이모티콘은 세 개의 문자가 붙어있는 구조로 이루어져 있으며, 행복한 얼굴을 나 www.acmicpc.net :-), :-( 이모티콘 개수에 따라 출력 내용이 달라지는 문제입니다. 이모티콘의 길이가 둘 다 3이므로 for문을 (문장의 길이)-2번만 확인하면 되는 간단한 문제입니다. x는 :-)의 개수, y는 :..
www.acmicpc.net/group/practice/9883/14 이번 복습 문제는 5번 문제가 단순 for문으로 구현했으면 시간 초과가 나와서 생각을 해야했던 문제였고, 3번 문제가 제일 어려웠을 것이라고 생각합니다. 1. BOJ 2744 대소문자 바꾸기 www.acmicpc.net/problem/2744 2744번: 대소문자 바꾸기 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. www.acmicpc.net 대문자는 소문자로, 소문자는 대문자로 바꾸라는 문제입니다. 소문자로 만드는 방법은 lower()메소드, 대문자로 만드는 방법은 upper()메소드가 있습니다. 일단 입력값을 받아야 하는데, 문자열로 입력 받으면 ..
www.acmicpc.net/group/practice/9883/13 5번은 자료구조 내용이라 좀 생소하실 수 있을텐데, 스택을 배우지 않았어도 리스트와 if문으로 충분히 풀 수 있는 문제라서 넣어보았습니다. 참고로 5번 문제는 여기에서 설명하지 않고, 깃북 5주차 스택 파트에 나와있습니다. 1. BOJ 2966 찍기 www.acmicpc.net/problem/2966 2966번: 찍기 상근이, 창영이, 현진이는 역사와 전통을 자랑하는 Sogang ACM-ICPC Team에 가입하려고 한다. 하지만, 가입하려고 하는 모든 지원자는 C언어 필기시험을 통과해야 한다. 이들은 C언어를 할 줄 모른다. www.acmicpc.net 상근이는 A, B, C, .... 창영이는 B, A, B, C, .... 현진이는..
· Koala - 3기
푸시느라 고생하셨습니다~ 문제 구성 백준 7795번 먹을 것인가 먹힐 것인가 백준 16948번 데스 나이트 백준 2075번 N번째 큰 수 백준 2470번 두 용액 이번 문제 셋은 조금 덜 유명하지만 빈번히 나오는 힙(우선순위 큐), 이분 탐색, 투 포인터 유형에 항상 나오는 bfs 문제 하나를 출제하였습니다. 1. 백준 7795번 먹을 것인가 먹힐 것인가 이분 탐색 유형의 문제입니다. 자칫 잘못 생각하면 브루트 포스를 떠올릴 수 있지만, 지금 스코어보드를 보니 그런 분들은 없는 것 같아서 따로 시간 복잡도에 대한 설명은 생략하고 코드만 올려두겠습니다. 참고로 예시 코드는 두 가지로, 하나는 이분 탐색을 직접 구현했고 나머지 하나는 그냥 lower_bound 함수를 사용해 풀었습니다. 혹시 upper, l..
1. BOJ 4435 중간계 전쟁 www.acmicpc.net/problem/4435 4435번: 중간계 전쟁 첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, www.acmicpc.net 전투의 개수 T가 주어지고, 전투 한 번당 간달프 군대에서 참여한 종족의 수와 사우론 군대에서 참여한 종족의 수가 주어진다고 합니다. 그래서 일단 입력값을 받는 코드를 짜봅시다. 입력값은 간달프쪽에서 6개, 사우론쪽에서 7개로 고정된 개수의 값으로 입력 받기 때문에 변수 13개를 이용하여 문제를 풀 수 있지만, 너무 비효율적이기 때문에 리스트를 각각 하나씩 만들어서 한 번에..
과제 인증 이름/주차 1주차 2주차 3주차 4주차 5주차 6주차 7주차 8주차 9주차 기하영 O O O X X X X X X 송필수 O O O O O O O O O 양유림 O O O X X X X X X 유승민 O O O O X X X X X 이동훈 X X X X X X X X X 이우현 O O X X X X X X X 주동욱 O X O X X X X X X 최수빈 O O O X X X X X X 한상민 X X X X X X X X X * 언제든지 문제집 사진을 올리면 O로 변경 O : 기한내에 문제를 풀고 인증하였음 O : 나중에 문제를 풀고 인증하였음 X : 인증하지 않음 복습 문제 이름/주차 3주차 4주차 5주차 6주차 7주차 8주차 9주차 기하영 O X X X X X X 송필수 O O O O O ..
KauKoala
Koala