목록Problem Solving (185)
지우너
문제 폭탄과 폭탄을 둘러싼 지역을 제외한 지역의 갯수를 return하는 문제. 계획 세우기 n은 1이상 100 이하이기 때문에 board의 최대 크기는 100*100이 된다. board를 완전탐색(2중 반복문을 이용)? 한다면 10000*10000번, 즉 100,000,000번 연산하게 된다. 제한 사항에 시간제약이 없기 때문에 이 방법을 써도 문제가 없을 것 같다. 하지만 이런 유형의 문제에서 주로 dfs/bfs를 사용했던 거 같다. dx, dy 좌표를 이용해서 board 범위를 벗어나지 않을 시 해당 경로를 선택하는 느낌의 알고리즘이었던 거 같다. 비슷한 문제 백준 2178번 미로 탐색 https://www.acmicpc.net/problem/2178 백준 7576번 토마토 https://www.ac..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120910 내가 쓴 코드 #include #include #include using namespace std; int solution(int n, int t) { int answer=n; for (int i=0; i
다른 0레벨 문제들보다 조금 더 고민이 필요했던 문제였다. array의 원소가 몇 개 나왔는지 저장하기 위해 vectorclean_arr 를 선언했다. clean_arr[i].first는 어떤 수가 저장되고, clean_arr[i].second에는 그 수가 몇 개 있는지 저장한다. array의 원소를 차례대로 돌면서 해당 값이 clean_arr에 있을 경우 clean_arr.second의 수를 1증가시킨다. clean_arr를 모두 돌았는데 array의 원소와 같은 값이 없다면(isExist=false라면) clean_arr에 해당 원소를 넣는다. 최대 갯수를 저장하기 위한 max와 최대 갯수인 수를 저장하기 위한 answer을 선언했다. clean_arr를 돌면서 clean_arr.second의 값이 ..
코드를 실행하면 매개변수로 들어온 num 벡터에 들어있는 수 중 가장 큰 수가 출력된다. ["pencil", "pencil", "pencil", "book"], [2, 4, 3, 1] 이 입력으로 주어졌다면, [2, 4, 3, 1] 중 가장 큰 수인 4가 출력으로 나오게 코드가 짜여있다. 아래는 문제에서 주어진 코드에 주석을 달아본 것이다. #include #include using namespace std; // // vector storage: 정리 전 창고 // vector num: 정리 전 창고 인덱스에 들어있는 물건의 수 string solution(vector storage, vector num) { int num_item = 0; vector clean_storage(storage.size(..
그림 확대 프로그래머스 0 레벨 기초 트레이닝 문제 그림확대입니다. 문제 풀이 ".xx...xx." 한 줄이 "..xxxx......xxxx.." 오른쪽은 점이 2개 x4개로 시작 문자를 k번씩 더한 input_Str이라는 문자열을 k번 answer 벡터에 넣는다. #include #include using namespace std; vector solution(vector picture, int k) { vector answer; for (int i=0;i
백준 1517번 | 버블 소트 (C++)(c++)백준 1517번: 버블 소트 - Study hard 코드는 위의 두 블로그를 보고 이해하는 데에 중점을 두었기 때문에 두 번째 블로그의 코드가 어떻게 작동하는지 노트에 쓰면서 이해한 것만 올리려고 한다. 노트에 정리한 것이라 조금 더러울 수는 있지만, 좀 더 깔끔하게 정리할 수 있으면 그렇게 하고 싶다.재귀는 역시 좀 복잡하다는 생각이 들었다.mergeSort는 범위를 1/2씩 쪼개는 함수인 것 같고, merge함수에서 정렬+떨어진 두 수의 거리를 구하는 역할을 한다.