반응형

Programming 298

프로그래머스 수식최대화 [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..

백준 1753 c++ 최단경로

#include #include #include #include #include using namespace std; #define INF 1000000 int v, e; //정점, 간선 int start; //시작정점 int t1, t2, t3; int result[20001]; //최단경로값 저장할 배열 vectormap[300001]; void func(int s) { priority_queueq; //우선순위큐, 내림차순으로 선언, 가중치가 작은 순으로 정렬 q.push({ 0,s }); result[s] = 0; //시작점은 0 while (!q.empty()) { int num = q.top().second; // 1 2 3 4 int len = q.top().first; //0 2 3 7 q..

백준 1094번 c++ 막대기

https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 위의 URL을 클릭하면 문제를 볼 수 있습니다. #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cout.tie(NULL); cin.tie(NULL); //64 32 16 8 4 2 1 int x; int answer = 0; //사용되는 막대의 개수..

백준 2630 색종이만들기 [c++]

#include #include #include #include #include using namespace std; int map[129][129]; //전체종이 int wcnt = 0; //하얀색 색종이의 수 int bcnt = 0; //파란색 색종이의 수 int n; //한변의길이 int len; void func(int a,int b,int l) //각각의 색종이를 확인하는 함수 { int wc = 0; int bc = 0; int check = false; for (int i = a; i < a+l; i++) //입력받은 매개변수에서 색종이의 길이만큼 확인 { for (int j = b; j < b+l; j++) { if (map[i][j] == 1) bc++; else if (map[i][j]..

반응형