728x90

분류 전체보기 336

[C++][프로그래머스] 괄호 변환

문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제풀이 시뮬레이션 같이 문제에서 알려준 괄호변환하는 방법을 하나하나 차례로 구현하면 된다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 ..

[C++][Baekjoon] 14503번 로봇 청소기

문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 코드 #include using namespace std; void CleanArea(int, int, int); const int direction[4][2] = { {-1,0},{0,1},{1,0},{0,-1} }; //북, 동, 남, 서 int map[51][51]; int height, width; int clean_count; int main() { cin >> height >> ..

[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

728x90