분류 전체보기

문제 & 링크https://www.acmicpc.net/problem/1350 풀이1. vector를 사용하여 각 파일의 크기를 저장한다. 이때 각 파일의 크기는 1,000,000,000이고, 최대 50개의 파일이 주어질 수 있으므로, 최대 50,000,000,000의 저장 공간이 필요하다. 따라서 vector의 자료형을 long long으로 설정해야 한다.2. 클러스터의 크기를 저장한다.3. 각 파일의 크기를 클러스터의 크기로 나눈다. 이때 나머지가 없을 경우 해당 몫을 count에 더하고, 나머지가 있을 경우 (몫 + 1)을 count에 더한다.4. 모든 파일에 대해 3의 과정을 반복한 후 클러스터의 크기와 count의 값을 곱해주면 사용한 디스크 공간을 얻을 수 있다. 코드#include #incl..
문제 & 링크https://www.acmicpc.net/problem/11365 풀이1. string과 getline() 함수를 사용하여 줄 단위로 암호를 입력 받는다.2. algorithm 헤더 파일의 reverse()함수를 사용하여 암호를 뒤집어서 해독한다.3. 1 - 2의 과정을 반복문을 이용하여 실행하고, if문으로 "END"가 나올 때 까지 반복한다. 코드#include #include #include using namespace std;int main() { string egassem; while(1) { getline(cin, egassem); if (egassem == "END") break; reverse..
https://www.acmicpc.net/problem/9012문제문제풀이괄호 문자열을 입력받아 문자 하나 하나를 리스트의 원소로 저장합니다. 반복문을 통하여 리스트의 원소를 탐색하다가 '('이 나오고 ')'이 나온 경우에는 리스트에서 소괄호 '('와 ')'를 삭제합니다. 이 과정을 재귀함수를 통하여 게속 반복한 후에, 만약 리스트가 빈 원소가 되었으면  문자열이 VPS를 성립하는 경우입니다. 소스코드# functiondef function(s): if len(s) == 0: return fl = len(s) for i in range(len(s)-1): if s[i] + s[i+1] == '()': s.pop(i); s.pop(i)..
풀이#include #define MAX 1000001 #define MOD 1000000009 int n; long long d[MAX]; using namespace std; int main(){     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     int T;     cin >> T;     d[1] = 1, d[2] = 2, d[3] = 4;     while(T--) {         cin >> n;         for( int j = 4; j             d[j] = (d[j - 3] + d[j - 2] + d[j - 1]) % MOD;         }         cout     }  ..
문제 링크https://www.acmicpc.net/problem/2561문제 난이도다이아몬드 5문제 설명주어진 순열을 정렬된 상태로 만들기 위해서 3번 이하의 교환으로 가능한지를 판별하는 문제입니다. 교환은 연속된 수열을 뒤집는 방식으로 이루어집니다. 주어진 순열을 가능한 한 적은 횟수로 정렬된 상태로 만들어야 합니다.문제 풀이아이디어이 문제를 해결하기 위해 다음과 같은 접근 방식을 사용합니다:비정상 구간 확인: 순열에서 연속된 숫자 간의 차이가 1보다 큰 부분과 단조증가 또는 단조감소가 아닌 부분을 확인합니다.비정상 구간 뒤집기: 비정상 구간을 뒤집어서 순열을 정렬된 상태로 만드는 방법을 찾습니다.백트래킹: 백트래킹을 이용해 최대 3번의 교환으로 문제를 해결합니다해당 풀이가 가능한 이유는 실제로 비정..
https://www.acmicpc.net/problem/15917문제 풀이input = __import__('sys').stdin.readlineq = int(input())while q: a = int(input()) while a>1: if a % 2: a=0 a//=2 print(a) q-=11. 빠른 입력을 받아오기 위해 'sys'의 stdin.readline으로 input을 설정한다.2. 쿼리 a를 읽어온다.3. a==1이면 print(a)로 1을 출력한다.4. a>1이면 a가 홀수인지 체크해가면서 2로 나눠준다.5. a가 홀수라면 a=0으로 초기화 한 후 print(a)로 0을 출력한다.6. a를 2로 나누는 것을 반복하여 ..
https://www.acmicpc.net/problem/17951 이진탐색을 이용해서 그룹 당 문제개수의 합의 최소를 구하는 문제이진탐색을 사용해서 푸는 것이란 것을 몰르고 풀었다면, 이걸 이진탐색을 사용하겠다는 생각이 들었을까 .. 싶었던 문제였다. import java.io.*;import java.util.*;public class Main { static int arr[]; static int N; static int M; public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); ..
https://www.acmicpc.net/problem/2529   문제 풀이import sysimport itertoolsdef check(array, ptr): global n for i in range(n): if array[i] == '>' and not ptr[i] > ptr[i + 1]: return False elif array[i] == ' 모든 조합의 경우를 check라는 검증 함수를 통해 필요한 부분만 값을 받아올 수 있도록 작성했다. 역순 순열을 통해 모든 순회를 통해 검증하는 것이 아닌 Max 값과 min 값을 각각 따로 받아 값을 받아 최적화를 진행했다.
문제 https://www.acmicpc.net/problem/17127  Algorithm 구간을 총 4개를 나누어야 하므로 for문을 3개 사용하여 구간을 나누었다. 위 그림과 같이 for문으로 구간을 나누어 주었다. 최소한 그룹에는 1개의 나무가 존재해야 하므로 구간을 0~n-1로 설정하고 i는 j,k를 고려하여 0~n-3까지, j는 k를 고려하여 1자리를 남겨야 하므로 i+1부터 n-2까지, k는 j+1부터 n-1까지 설정해준다.이제 구간끼리의 곱을 구해야 한다. 우리가 설정한 i,j,k에 따라 구간은 [0,i] , [i+1,j] , [j+1,k] , [k+1,n-1]의 구간이다.여기서 누적합의 개념을 사용해서 누적합이아닌 누적곱으로 바꾸어 주었다. prefix[0] = 1로 설정하고 계속 곱하고..
1. 문제 인증백준1주차2주차3주차4주차5주차6주차7주차8주차조소윤OOOOOOOO차정은OOO-OOOO 강민준OOO-O--O좌민석OOOOO--O이상원OOOOOOOO박준규O  ----O황서진 OO-O--O박상신OO ----O윤정민OOOOOO-O박건아OO ----O이유경O OO  OOO조영찬OOOOOOOO홍지호OOOOOOOO류민호OOOOOOOO이성민OO -OO-O박수완OOO----O유완규OO ----O이해령OOOOOOOO양지원OOOO--OO 2. 블로그 인증백준1주차2주차3주차4주차5주차6주차7주차8주차조소윤OOOOOOOO차정은OOO-OOOO강민준OOO-O--O좌민석OOOOO--O이상원OOOOOOOO박준규O  ----O황서진 OO-O--O박상신OO ----O윤정민OOOOOO-O박건아OO ----O이유경O OO..
1. 문제 인증백준1주차2주차3주차4주차5주차6주차7주차8주차이동훈OO------조영서OOOOOOOO김현우OOOO----정현서OO----O-문정우OOOOOOOO정윤성OOOOOOOO김미미--O-----조은기OOOO----정유나-OOO--O-고태훈OOOOOOO-이혜연OO------허은지O-------이은석OOO-----김정훈OOOOOOOO김성현OOOOOOOO곽재현O-O-O--O이도윤OO---OO-2. 블로그 포스팅 인증백준1주차2주차3주차4주차5주차6주차7주차8주차이동훈OOO-----조영서OOOOOOOO김현우OOOO----정현서OO----O-문정우OOOOOOOO정윤성OOOOOOOO김미미--O-----조은기OOOOO---정유나-OOO--O-고태훈OOOOOOO-이혜연OO------허은지O-------이은석OOO..
https://www.acmicpc.net/problem/17266문제 분석분류구현이분탐색문제 설명인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙빙 돌아서 집으로 간다. 안타깝게 여긴 인식이는 굴다리 모든 길 0~N을 밝히게 가로등을 설치해 달라고 인천광역시에 민원을 넣었다. 인천광역시에서 가로등을 설치할 개수 M과 각 가로등의 위치 x들의 결정을 끝냈다. 그리고 각 가로등은 높이만큼 주위를 비출 수 있다. 하지만 갑자기 예산이 부족해진 인천광역시는 가로등의 높이가 높을수록 가격이 비싸지기 때문에 최소한의 높이로 굴다리 모든 길 0~N을 밝히고자 한다. 최소한의 예산이 ..
KauKoala
'분류 전체보기' 카테고리의 글 목록 (20 Page)