목록분류 전체보기 (591)
어흥
문제 링크: https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름�� www.acmicpc.net 1. 주의할 점 - 각 구역을 어떤 방식으로 나눌건지 잘 계산한다 - 브루트포스를 통해 경우의 수 전부 구해본다 2. 구현 - 각 인구를 입력 받으면서 배열에서의 총합을 따로 구한다 - D1, D2의 최소 길이가 1인 것을 감안하여 DFS를 수행한다 - DFS를 수행하며 각 변이 범위밖으로 넘어가지 않는다면 브루트포스 함수인 Start()를 수행한다 - 1~4 구역까지 인구수 전부 구한..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0UHtanwcDFAXz SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4yLUiKDUoDFAUx SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 해당 Y,X 칸에 같은 메모리와 같은 방향을 지닌채로 이미..
문제 링크: https://www.acmicpc.net/problem/15661 15661번: 링크와 스타트 첫째 줄에 N(4 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 S가 주어진다. 각 줄은 N개의 수로 이루어져 있고, i번 줄의 j번째 수는 Sij 이다. Sii는 항상 0이고, 나머지 Sij는 1보다 크거나 같고, 100 www.acmicpc.net 1. 주의할 점 - 한팀에는 최소 1명이 있을 수 있고, A팀과 B팀의 인원수는 같지 않아도 된다 - 현재 구현한 방법은 중복된 경우가 있기 때문에(X2) 시간이 2배로 든다 2. 구현 - 브루트포스를 통해 1명~N-1까지 팀을 이뤘을때 각 팀원들에 해당하는 능력치의 합을 구한다 - 브루트포스의 경우, Next_permutation 함수를 ..
1. string -> int로 변환 (stdlib.h 필요) - atoi(XX.c_str()); - stoi(str); 2. int -> string으로 변환 :to_string(YY); #include #include #include using namespace std; int main() { //출력: 123 369 string str = "123"; int a = atoi(str.c_str()); int b = 246; cout
문제 링크: programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 1. 주의할 점 - Map이나 배열을 통해 몇번 만에 Words에 있는 단어에 도착했는지 저장해야 한다 2. 구현 - DFS(현재 문자열, 바꾼 횟수)를 수행하며 DFS 함수 내에는 다음과 같은 조건들이 있다 - DFS() 함수의 가장 처음에는 현재 바꾼 횟수가 이미 구한 정답보다 많다면 Return한다 - 현재 문자열이..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 1. 주의할 점 - 이미 네트워크를 이룬 컴퓨터는 세지 않도록 한다 - 기본적인 BFS문제 2. 구현 - 전달받는 배열을 바탕으로, 1의 원소를 가지고 있다면(열!=행) V[] 벡터에 간선을 저장한다 - 0번부터 컴퓨터의 수-1 까지 For문을 돌리고 아직 네트워크를 형성하지 않은 컴퓨터라면(Check[] 값이 false) Queue에 넣고 해당 컴퓨터와..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr 1. 주의할 점 - 이분탐색으로 해결한다 - Right 포인터의 값이 Int값을 벗어날 수 있다 (Long Long으로 형변환 필요) -> 8번 TC 2. 구현 - Tip) Mid의 값을 구할 때 Left+(Right-Left)/2로 한다. Right+Left/2로 할 경우, Int 혹은 Long Long의 범위를 벗어나면 음수값이 저장되므로 사전에 예방한다. ..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43237 코딩테스트 연습 - 예산 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그�� programmers.co.kr 1. 주의할 점 - 이분탐색을 통해 접근하며, 입력 받는 벡터를 미리 Sort 하면 편하다 2. 구현 - 입력 받는 벡터를 Sort한 후, 이분탐색을 통해 상한액을 Mid만큼으로 잡았을 때, M 이하의 예산으로 배분 가능하면 Mid를 늘리고, 아니라면 Mid를 줄이면서 Mid를 구한다 - Mid로 배분이 가능할때마다 Answer의 값을 Mid로 갱신한다 #inclu..