Category: problems

0

백준[1764] - 듣보잡

문제백준 1764 문제 보기 접근 방법set 자료구조를 활용하면 쉽게 해결할 수 있다. 먼저, 들어보지 못한 사람을 모두 set 자료구조에 저장한뒤 이후 입력되는 보지도 못한 사람을 set에서 찾아서 정답을 출력하면 된다. 코드#include <iostream> #include <algorithm> #include <vector> #i

0

백준[9935] - 문자열 폭발

문제백준 9935 문제 보기 접근 방법처음 vector의 erase를 활용해 문제를 풀었지만 시간 초과가 났다 erase에 같은 경우는 제거 요소 뒤에 있는 값을 땡기기 위해 다시 어느 정도의 시간을 소비하기 때문이다. 이에 다른 방법으로 정답 배열을 하나 두고 정답 배열에 값이 하나씩 저장 될때 마다 문자열을 검사하는 식으로 문제를 접근하면 해결됨을 찾아

0

백준[2606] - 바이러스

문제백준 2606 문제 보기 접근 방법연결 요소에 대해서 완전탐색으로 문제를 풀수 있다. 연결 돼 있는 요소라면 dfs 탐색을 활용해 방문하고 한번 방문한 곳은 다시 방문하지 않게 chk에 체크를 한다. 코드#include <iostream> #include <vector> using namespace std; int computer, c

0

백준[1182] - 부분집합의 합

문제백준 1182 문제 보기 접근 방법정수의 범위가 20까지 이므로 완전 탐색을하면 손쉽게 해결할 수 있다. 부분집합으로 해당 정수를 포함하는 경우 포함하지 않는 경우 두 가지 경우를 완전 탐색으로 구현한다. 코드#include <iostream> #include <vector> using namespace std; int N, S,

0

백준[1963] - 소수 경로

문제백준 1963 문제 보기 접근 방법에라토스테네스의 채를 이용해서 1000에서 10000까지의 모든 소수를 구해 놓고 문제를 접근했다. 그 이후 입력된 숫자를 각 자리별로 배열에 담아 bfs로 자릿수를 바꿔 소수인지 아닌지를 판별했다. 코드#include <iostream> #include <cstring> #include <string

0

백준[10971] - 외판원 순회 2

문제백준 10971 문제 보기 접근 방법각 점마다 모든 점을 순회하고 다시 출발했던 점으로 돌아오는 것으로 종료 시점을 잡으면 dfs로 문제를 풀 수 있다. 코드#include <iostream> #include <cstring> using namespace std; int N; int arr[15][15]; int visited[15];