반응형

전체 312

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

#include #include #include #include #include #include #include using namespace std; int solution(string s) { int answer = 0; string temp = ""; for (int i = 0; i < s.size(); i++) { int n; if (!isdigit(s[i])) //문자열에 숫자가 아닌 문자가 존재한다면, find를 사용하여 어떤 영단어가 존재하는지 확인 { //존재한다면 영단어는 문자열에서 삭제하고 영단어의 시작위치에 해당 숫자를 추가 if (s.find("zero") != -1) { n = s.find("zero"); s.erase((s.begin() + n), (s.begin() + n + 3..

백준 2644 c++ 촌수계산

#include #include #include #include #include #include using namespace std; int n; pairtarget; vectorrel[1001]; bool visited[1001][1001]; int m; int t1, t2; int bfs(int start) { queueq; q.push({start,0}); //start는 탐색을 시작할 위치이며, 0은 탐색이 진행될때마다 증가되는 촌수이다. while (!q.empty()) { int qx = q.front().first; //현재위치 int qcnt = q.front().second; //촌수 q.pop(); if (qx == target.second) //촌수를 계산해야하는사람에 도달한 경우 r..

프로그래머스 수식최대화 [c++] 2020카카오인턴십

#include #include #include #include #include #include #include using namespace std; long long cal(long long lla, long long llb, char op) // +, -, * { if (op == '+') return lla + llb; else if (op == '*') return lla * llb; else if (op == '-') return lla - llb; } long long solution(string expression) { long long answer = 0; string temp = ""; vectorsum; //우선순위에 따른 계산후 각 결과값들 저장할 배열 bool check[3] = {..

프로그래머스 키패드누르기 [c++] 2020 카카오 인턴십

#include #include #include #include #include using namespace std; int map[4][3]; //키패드 배열 bool visited[4][3]; //방문확인 배열 int ax[4] = { 1,-1,0,0 }; //상하좌우 int ay[4] = { 0,0,1,-1 }; typedef struct { int x; int y; int cnt; }node; int bfs(int start, int target) //start는 현재 왼손 또는 오른손 엄지의 위치, target은 눌러야할 키패드 { queueq; int a, b; for (int i = 0; i < 4; i++) //현재 키패드의 좌표구하는 반복문 { for (int j = 0; j < 3; j..

백준 11724 c++ 연결 요소의 개수

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 위의 링크로가면 문제를 볼 수 있다. #include #include #include #include #include using namespace std; int n, m; int u, v; vectorvec[500001]; bool visited[500001]; int answer = 0; void dfs(int start) { st..

백준 10451 c++ 순열사이클

#include #include #include #include #include using namespace std; int t; int n; int temp; vectorvec[1005]; vectorresult; bool visited[1005]; int sum = 0; void dfs(int start) //dfs 탐색 { stacks; s.push(start); visited[start] = true; while (!s.empty()) { int x = s.top(); s.pop(); for (int i = 0; i < vec[x].size(); i++) //스택의 top 값인 x와 연결된 값들을 확인 { if (visited[vec[x][i]])continue; //방문하지않았으면 스택의 pus..

반응형