알고리즘 문제/C++ 35

[백준] 1012번: 유기농 배추(DFS) - C++

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include using namespace std; int M,N,K; int map[50][50]; bool visited[50][50]; int dir[4][2] = {{1,0},{-1,0},{0,-1},{0,1}}; void reset() { for(int y = 0;y>T; for(int i = 0 ;i> M >> N >> K; reset(); for(int k = 0;k>x>>y; ..

[백준] 1012번: 유기농 배추(BFS) - C++

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include using namespace std; int M,N,K; int map[50][50]; bool visited[50][50]; queue q; int dir[4][2] = {{1,0},{-1,0},{0,-1},{0,1}}; void reset(int M, int N) { for(int y=0; y < N;y++) for(int x = 0;x < M;x++) { map[y][x]..

[백준] 2178번 : 미로 탐색(BFS) - C++

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include #include using namespace std; #define MAX 100 int map[MAX][MAX]; int dist[MAX][MAX]; bool visited[MAX][MAX]; int N,M; int dir[4][2] = {{1,0},{-1,0},{0,-1},{0,1}}; queue q; void reset() { for(int i = 0;i> M; for(int i = 1; i..

[프로그래머스] Level2 : 위장 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 코드 #include #include #include using namespace std; int solution(vector clothes) { int answer = 1; map m; for(int i = 0;isecond) + 1; } return answer - 1; } map컨테이너를 사용하여 같은 의상의 종류 수를 세주었다. 최소 한개의 옷은 입기 때문에, 마지막에 answer - 1을 해준다.

[프로그래머스] Level2 : 전화번호 목록 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 코드 #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; sort(phone_book.begin(),phone_book.end()); for(int i = 0;i

[프로그래머스] Level2 : 더 맵게 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 코드 #include #include #include using namespace std; int solution(vector scoville, int K) { int answer = 0; priority_queue pq; for (int i = 0;i < scoville.size(); ++i) pq.push(sco..

[백준] 5639번 : 이진 검색 트리 - C++

문제 www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 코드 Binary Search Tree를 직접 구현하여 풀었다. #include using namespace std; class Node{ public: int value; Node *right; Node *left; Node(){value = 0; right = NULL; left = NULL;} Node(int data){value = data;right = NULL; left = NULL..

[프로그래머스] Level2 : 주식가격 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 코드설명 vector solution(vector prices) { vector answer; stack s; for(int i=0; i

[프로그래머스] Level2 : 다리를 지나는 트럭 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 코드 int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; int now_weight = 0; int i = 0; queue bridge; while(1) { ++answer; if (!bridge.empty() && answer - bridge.front()..

반응형