728x90

전체 글 334

[C++][Baekjoon][DP] 1309번 동물원

문제 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 백준에 스티커랑 2*n 타일링 문제와 매우 비슷... 참고사진 코드 #include using namespace std; void DP_function(int); const int MAX_SIZE = 100000; const int MOD = 9901; int dp[MAX_SIZE][3]; int main() { int column = 0; cin >> column; DP_function(column); } void DP_function(int column) { dp[1][0] = 1; dp[1][1] = 1; dp[1][2..

[C++][Baekjoon] 16974번 서울 지하철 2호선

문제 https://www.acmicpc.net/problem/16947 16947번: 서울 지하철 2호선 첫째 줄에 역의 개수 N(3 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N개의 줄에는 역과 역을 연결하는 구간의 정보가 주어진다. 같은 구간이 여러 번 주어지는 경우는 없고, 역은 1번부터 N번까지 번호 www.acmicpc.net 풀이 사진 참고 코드 #include #include #include #include using namespace std; const int MAX = 3001; int n;//문제에서 주어진 역의 개수 vector stations[MAX];//문제에서 주어진 역 정보 bool visited[MAX];//BFS/DFS 탐색을 위한 방문체크 배열 bool cycle_..

[C++][BAEKJOON][Dijkstra Alg] 1261번 알고스팟

문제 https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 코드 #include #include using namespace std; void dijkstra(); int M, N;//M: 열, N: 행 int map[101][101];//문제에서 주어진 map정보 int cost[101][101];//map의 비용을 저장할 배열 int direction[4][2] = { {0,1},{1,0},{0,-1},{-1,0} };//오..

[C++][정규표현식] <regex> 함수

문자열 문제에서 유용하게 쓸 정규표현식을 공부해보자. (http://sweeper.egloos.com/2999049 사이트를 참고해서 적었습니다.) · 헤더파일: · 관련 함수: 1) regex_match: 정규식이 전체 대상 문자열과 일치하는지 여부를 반환(bool) 2) regex_search: 문자열이 정규식과 매치되는 sub string을 포함하고 있는지 여부를 반환(bool) 3) regex_replace: 정규식 표현식을 replace 문자열로 교체한다. 교체된 전체 문자열을 반환한다.(string) 4) swap: 두 basic_regex 또는 match_results 개체를 교환 합니다.(string) · 상세 설명 1) std::regex_match 는 전체 문자열이 특정 규칙(패턴)을 ..

[C++][프로그래머스][2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어

문제) 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 문제설명) 숫자+문자로 주어지는 string 을 모두 숫자로 치환하여 출력해야 한다. 문제풀이) 입출력 예를 보면, "one4sevennight" 을 1478로 바꿔서 출력했다. 즉, 문자는 숫자로 변환해야하고 숫자는 그대로 출력하면 된다. 따라서, string s 를 i번째부터 탐색해서 숫자가 나오면 새로운 문자열인 string numString에 넣고, 문자가 나오면 해당 문자가 zero ~ nine 중에 어떤 숫자인지를 알아내서 numSt..

[C++][프로그래머스] 2021 카카오 인턴십 문제, 거리두기 확인하기

[문제] 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr [문제조건] 대기실은 5개이며, 각 대기실은 5x5 크기입니다. 거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요. 단 응시자가 앉아있는 자리 사이가 파티션..

[Diagram] 다이어그램 그리는 무료 사이트 공유/추천

https://app.diagrams.net/ Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPM app.diagrams.net Usecase Diagram Flow Chart Class Diagram Sequence Diagra..

[Math&Algorithm][C++] 유클리디안 거리(Euclidean Distance)

두 점 사이의 거리를 구할 때 사용하는 '유클리디안 거리'공식 ! 두 점 (x1, y1), (x2, y2)이 주어졌을 때, 두 점 사이의 거리는 다음 공식으로 구할 수 있다. #include #include // sqrt()와 pow() 함수를 사용하기 위해 using namespace std; int main(){ int x1, y1, x2, y2; double distance; cin >> x1 >> y1 >> x2 >> x2; distance = sqrt(pow(x2-x1,2) + pow(y2 - y1, 2)); cout

[C++][BAEKJOON][DP] 2156번 포도주 시식

[문제] 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net [설명] ★이 문제가 DP 인 이유: 현재 값을 구할 때 이전 결과값을 이용할 수 있는 모양이 나오기 때문 포도주가 1잔 일 때, 1잔 모두를 선택해야 최대이다. 포도주가 2잔 일 때, 2잔 모두를 선택해야 최대이다. 포도주가 3잔 일 때, 3번째 잔을 선택할 경우와 선택하지 않을 경우로 나눌 수 있다. 이 때, 3번째 잔을 선택하지 않을 경우는 포도주가 2잔 이었을 때 구한 최대값과 같다. 3번째 잔을 선택했다면, 2번째 잔을 선택하고 1번째 잔을 선택..

[C++][Baekjoon][Backtracking] 9663번 N-Queen 풀이

백트래킹(Back Tracking) - 완전 탐색에서 불필요한 분기(Branch)를 가지치기(Pruning) - 해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법 즉, Backtracking이란, 간단하게 말해 brute-force(전부 일일히 다 해보는 것)방법을 수행하지만 한정 함수(bounding function)을 이용해 경우의 수를 줄여나가는 방법을 말한다. [관련문제] 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net [풀이] 1차원 행열 int queen_col[15] 을 이용해서 퀸의 위..

728x90