본문 바로가기

분류 전체보기

(203)
1120번 문자열 간단한 브루트 포스 문제. 1234567891011121314151617181920212223242526272829#include using namespace std; typedef long long ll;string A,B;int ans=987654321; int main(){ cin >> A >> B; ll Asize = A.size(); ll Bsize = B.size(); ll diff = Bsize-Asize; for(int i=0;i
(MacOS) You should consider upgrading via the 'pip install --upgrade pip' command 오류 사용하고 있는 pip 명령어 버전이 달라서 발생하는 오류. 터미널에서 다음 명령어를 입력하면 된다. 설치 Ex) pip3 install django 업그레이드 Ex)pip3 install --upgrade django ** MacOS
2042번 구간 합 구하기 세그먼트 트리 기본 문제. 세그먼트 트리에서 사용되는 init, update, sum 함수를 구현하기만 하면 풀 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 #include #include #include using namespace std; vector answer; long long i..
1987번 알파벳 DFS 문제. 방문한 알파벳을 체크하면서 나아가면 된다. ps. check 배열과 v 배열을 합쳐서 하나의 배열로 표현하였으면 더 깔끔하지 않았을까싶다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #include #define visited true #define Non_visited false #define MAX 21 using namespace std; int R,C; char board[MAX][MAX]; int check[27]; bool v[MAX][MAX]; int xx[4]={1,0,..
10448번 유레카 이론 브루트 포스 문제. 1000개 밖에 되지않아서 미리 값을 구해 배열에 저장해놓고 3개씩 더해 비교하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 #include #include #define MAX 1001 using namespace std; int T; int P[MAX]; queue q; int sum; void solved(int num){ for(int i=1;i
2206번 벽 부수고 이동하기 BFS 문제. 간단한 문제처럼 보여 시작했다가.. 2주동안 헤맨 문제(메모리 초과, 시간 초과) 1. 벽 신경쓰지 않고 끝나는 칸까지 가는 BFS 구현 2. 벽을 부수고 이동하는 것까지 포함한 BFS 구현 3. 중복되는 경우 큐에 저장하지 않고 넘어가도록 한다. 개인적인 생각으로는 다들 메모리 초과 또는 시간 초과에서 막히는것 같다. 큐에 넣는 조건에 대해서 간단하게 말하자면 다음 이동할 장소에 값이 존재할때 그 값과 (넘어가는 값+1)을 비교하여 큐에 저장할지 말지 정하면 된다(52번째 줄). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4..
1182번 부분수열의 합 브루트포스 문제 6603번 로또문제를 이용해 해결하였다. 1. N개의 숫자 중 1개씩 선택할 경우를 구해 S의 값과 비교한다. 2. N개의 숫자 중 2개씩 선택할 경우를 구해 S의 값과 비교한다. 3. 이런 방식으로 N개씩 선택할 경우까지 구하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #include #include #define MAX 21 using namespace std; int N,S; vector vec; int store[MAX]; int ans; void solved(int nu..
1941번 소문난 칠공주 백트래킹 문제. 1. 5x5로 25개 고정이므로 25명 중 7명을 고른다. (6603번 로또 참고, https://www.acmicpc.net/problem/6603). 2. 7명 중 이다솜파(S)가 4명 이상인지 확인한다. 3. 이다솜파가 4명 이상이면 7명이 붙어있는지 확인한다(BFS). 참고) x의 좌표 => 해당 숫자/5 y의 좌표 => 해당 숫자%5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 6..