본문 바로가기

알고리즘 문제147

[알고리즘 문제] 백준14502 - 연구소 www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 문제는 완전탐색과 bfs로 풀었습니다. 처음 bfs대신 dfs로 풀어보려고했는데 bfs로 푸는게 더 적절한 문제였습니다. 그렇게 간단한 문제같지는 않습니다. 완전탐색으로(재귀) 벽을 세우고, 벽을 3개까지 세웠을 때 바이러스를 퍼뜨려보았습니다(bfs). 그리고 안전구역을 계산해 계속 갱신해 주는 방법으로 문제를 풀었습니다. 처음 바이러스를 퍼뜨릴 때 2중 for문안에서 map[y][x]==2 일때 bfs를 구현했습니다. .. 2020. 9. 2.
[알고리즘문제] 프로그래머스 - 스킬트리 스킬의 순서가 주어지고, 스킬들이 주어졌을 때 스킬순서를 만족하는 스킬이 몇개 있는지 검사하는 문제입니다. 데이터 크기가 크지 않아서 3중 for문으로 풀었고, 각 스킬마다 스킬순서와 같은 알파벳을 temp에 모두 더했습니다. 그리고 temp와 스킬순서를 비교하면서 알파벳이 모두 같으면 answer++을 해주었습니다. #include #include using namespace std; int solution(string skill, vector skill_trees) { int answer = 0; for(string s:skill_trees){ string temp=""; for(int j=0;j 2020. 9. 1.
[알고리즘문제] 프로그래머스 - 튜플 사실 문제 자체가 좀 이해가 안갔다. 이해하고도 이걸 풀라고...?라는 생각이 들었다. 그래서 예제보고 풀었다. 처음에 next_permutation으로 풀 수 있지 않을까 라는 생각을 했다(지금 생각하면 바보같은 생각...). #include #include #include #include using namespace std; int comp(string s1, string s2) { return s1.length() {4,2,3},{3},{2,3,4,1},{2,3} int start .. 2020. 8. 27.
[알고리즘문제] 프로그래머스 - 크레인 인형뽑기 게임 일단 풀긴 풀었는데, 사소한거에서 실수를 했다. y축을 뒤집어서 입력받으려고 했는데, x,y변수 값을 잘못 세팅했고, 총 제거된 인형수를 구해야 하는데 총 제거된 횟수를 출력했다. 매번 문제를 꼼꼼하게 읽는다고 생각하는데 실수한다.. 문제 자체는 간단한 것 같다. 나는 y축을 뒤집어서 입력받았기 때문에 stack을 사용했는데 생각해보면 그냥 y축을 뒤집지 않고 que를 사용해도 될 것 같다. vector vec를 선언해놓고 각 열에 인형들을 넣어놓았다. 하나씩 꺼내면서 바구니에 넣기 전 안의 값과 비교해서 같으면 count++, top 제거해주고 아니면 그냥 넣었다. #include #include #include #include using namespace std; int solution(vector .. 2020. 8. 27.