Tag: algorithms

0

백준[9517] - 아이 러브 크로아티아

문제백준 9517 문제 보기 접근 방법단순한 구현 문제이다. 문제에서 요구하는 조건에 맞춰 구현을 하면 정답을 출력할 수 있다. 코드#include <iostream> #include <vector> using namespace std; int K, N, T, remain_time = 210; char Z; vector<pair<int

0

백준[1600] - 말이 되고픈 원숭이

문제백준 1600 문제 보기 접근 방법bfs를 활용해 문제를 풀면 되지만 주의해야할 점은 바로 원숭이가 말 움직임 횟수에 따라 같은 좌표라도 결과가 다를수 있다는 점이다. 코드#include <iostream> #include <queue> using namespace std; struct info { int r; int c;

0

백준[2580] - 스도쿠

문제백준 2580 문제 보기 접근 방법백트래킹을 활용해서 문제를 풀수 있다. 입력받은 값들 중 빈 좌표를 따로 저장 첫번째 저장된 좌표에 1~9까지 숫자를 대입하여 현재 스도쿠를 만족하는지 검사 만족한다면 다음 좌표에서 1~9까지 숫자를 대입하고 검사를 반복 코드#include <iostream> #include <vector> #includ

0

백준[1339] - 단어 수학

문제백준 1339 문제 보기 접근 방법여러 풀이 방법이 존재하지만 나는 모든 알파벳 조합을 만들고 수를 대입하는 방법으로 문제를 풀었다. 먼저, set을 활용해 중복없이 알파벳을 저장한다. set에 저장된 알파벳을 벡터에 저장한뒤 오름 차순으로 정렬한다. next_permutaion을 활용해 모든 조합을 만들어본다. 코드#include <iostr

0

백준[1018] - 체스판 다시 칠하기

문제백준 1018 문제 보기 접근 방법각 (0, 0)부터 (N - 7, M - 7)까지 8 * 8의 죄판을 그릴 수 있다. 각 점을 돌면서 B, W를 한번씩 수행하고 정답을 출력한다. 코드#include <iostream> #include <cstring> using namespace std; int N, M; int map[51][51];

0

합병 정렬(Merge sort)

#들어가기이번 포스팅에서는 합병 정렬(merge sort)에 대해 알아보겠습니다. #합병 정렬(merge sort)합병 정렬(merge sort)은 분할 정복법을 활용한 sort 방법입니다. 분할 정복법은 익히 들어본바와 같이 다음과 같습니다. 분할 : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복 : 각각의 작은 문제를 순환적으로 해결