목록코딩테스트 (112)
Deff_Dev
문제https://www.acmicpc.net/problem/1012풀이BFS를 이용하여 그래프를 탐색하고 간선으로 이어져 있는 정점 갯수를 구했다.#include #include #include using namespace std;int m, n, k;int dx[4] = { 1,-1,0,0 };int dy[4] = { 0,0,1,-1 };vector answer;void BFS(int map [50][50], bool visited [50][50], vector > vec) { int count = 0; for (int i = 0; i > q; q.push({ vec[i].first ,vec[i].second }); visited[vec[i].first][vec[i].second] = tru..
문제https://www.acmicpc.net/problem/7576풀이BFS를 통해 익은 토마토(1) 주변 덜 익은 토마토(0)를 탐색하고 익은 토마토(1)로 바꿔준다. BFS가 끝난 후, 전체 맵을 탐색하고 덜 익은 토마토(0)가 있다면 -1 출력하고,덜 익은 토마토(0)가 없다면 맵에서 가장 큰 값을 출력한다. #include #include #include // https://www.acmicpc.net/problem/7576using namespace std;int m, n;int dx[4] = { 1,-1,0,0 };int dy[4] = { 0,0,1,-1 };vector> map;queue > q;void BFS(){ while (!q.empty()) { pair front = q.fron..
https://www.acmicpc.net/problem/2667 이 문제는 1로 이어진 아파트 단지 수와 각 단지내 집의 수를 오름차순으로 출력하는 문제이다. 풀이n의 갯수 만큼 이중 for문을 돌려 아직 방문하지 않은 1을 찾고, 해당 위치에서 bfs를 이용해 이어져있는 1을 탐색한다. 탐색이 완료되면 1의 갯수를 answer 벡터에 Push 한 뒤, 모든 탐색이 완료되면 answer 벡터를 오름차순으로 정렬하고 벡터의 size와 0부터 순서대로 출력한다.#include #include #include #include #include // https://www.acmicpc.net/problem/2667using namespace std;int n;int dx[4] = { 1,-1,0,0 };in..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이각 부서별 금액을 오름차순으로 정렬한 뒤 금액이 적은 순서별로 예산을 배정하는 방법으로 풀이했다.#include #include // https://school.programmers.co.kr/learn/courses/30/lessons/12982#using namespace std;int solution(vector d, int budget) { sort(d.begin(), d.end()); // 정렬 for (int i = 0; i = 0) { budget -= d[i]; ..
디지털 도어 락 XX사에서 만든 디지털 도어락은 내부적으로 보안키 값을 가지고 있고, 이 값은 1,000이하의 자연수로 이루어져 있다. 각 카드키들은 ID값을 가지고 있는데, 이 값이 도어락의 내부 보안키 값의 약codeup.kr 문제이 문재는 입력된 3개의 수의 최대 공약수를 구하는 문제이다. 풀이유클리드 호제법을 이용하여 최대 공약수를 구했다. 유클리드 호제법 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란ko.wikipedia.org#include // https://codeup.kr/problem.php..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 새로운 놀이기구는 이용 횟수에 따라 요금이 증가하는데 이용 횟수가 증가할 때마다 원래 이용료의 배수만큼 요금이 인상된다. count번 놀이기구를 이용하려고 할 때, 현재 보유한 금액에서 모자라는 금액을 반환하는 문제이다. 풀이 using namespace std; // https://school.programmers.co.kr/learn/courses/30/lessons/82612 long long solution(int price, int money, int count) { long long sum =..
나도 IQ 150 첫 줄에 이 삼각격자의 세로 길이 N이 입력된다.(2 map[i][0]; // 입력 for (int j = 0; j < i; j++) { // 계산 map[i][j + 1] = map[i][j] - map[i - 1][j] ; } } for (int i = 0; i < n; i++) { // 출력 for (int j = 0; j
(재귀함수) 팩토리얼 계산 팩토리얼(!)은 다음과 같이 정의된다. $n!=n\times(n-1)\times(n-2)\times\cdots \times2\times1$ 즉, $5! = 5 \times 4 \times 3 \times 2 \times 1 = 120$ 이다. $n$이 입력되면 $n!$의 값을 출력하시오. 이 문제는 반복문 for, while codeup.kr 문제 이 문제는 입력된 정수 n의 팩토리얼 (!)의 값을 구하는 문제이다. 풀이 재귀 함수를 이용하여 풀이했다. #include // https://codeup.kr/problem.php?id=1912&rid=0 using namespace std; int Func(int n) { if (n == 1) { return 1; } // n이 ..