PS(Problem Solving)221 [백준] 11256번 - 사탕 (C++) 문제 및 풀이 문제) 백준 - 그리디 알고리즘 - 사탕 https://www.acmicpc.net/problem/11256 11256번: 사탕 당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다. 당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰 www.acmicpc.net 상자의 최소 개수를 구하는 문제였습니다. 상자의 용량을 기준으로 내림차순으로 정렬합니다. J개의 사탕을 상자에 채우면서 상자의 개수를 세어줍니다. C++ 소스코드) 2022. 1. 26. [백준] 17829번 - 222-풀링 (C++) 문제 및 풀이 문제) 백준 - 분할 정복 - 222-풀링 https://www.acmicpc.net/problem/17829 17829번: 222-풀링 조기 졸업을 꿈꾸는 종욱이는 요즘 핫한 딥러닝을 공부하던 중, 이미지 처리에 흔히 쓰이는 합성곱 신경망(Convolutional Neural Network, CNN)의 풀링 연산에 영감을 받아 자신만의 풀링을 만들고 이를 22 www.acmicpc.net solve 함수의 분할 정복을 통해 해결했습니다. solve(int sr, int er, int sc, int ec)의 역할은 행 sr부터 er, 열 sc부터 ec까지의 숫자 중에서 2번째로 큰 수를 뽑아내는 역할을 합니다. 인덱스 범위에서 4등분을 한 후, res벡터에 넣은 후 정렬을 통해 2번째로 큰 수를 반환합니.. 2022. 1. 25. [백준] 1474번 - 밑 줄 (C++) 문제 및 풀이 문제) 백준 - 그리디 알고리즘 - 밑 줄 https://www.acmicpc.net/problem/1474 1474번: 밑 줄 세준이는 N개의 영어 단어를 이용해 길이가 M인 새로운 단어를 만들려고 한다. 새로운 단어는 N개의 단어를 순서대로 이어 붙이고, 각 단어의 사이에 _을 넣어서 만든다. 이렇게 만든 새로운 단어 www.acmicpc.net 사전 순으로 가장 빠른 것을 출력하기 위해 알파벳과 밑 줄의 우선순위를 이해해야 합니다. 밑 줄의 순서가 'A' < 'B' < 'C' < ... < 'Z' < '_' < 'a' < 'b' < 'c' < ... < 'z' 이므로 소문자보다는 밑 줄이 먼저 와야 합니다. 따라서 단어 사이에 균등하게 넣을 밑 줄을 계산하고, 남은 빈칸(redBlank)이 0 이상.. 2022. 1. 25. [백준] 10808번 - 알파벳 개수 (C++) 문제 및 풀이 문제) 백준 - 문자열 - 알파벳 개수 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 문자열의 최대 길이가 100이므로 모든 문자열을 순회하면서 세우 주면 되는 쉬운 문제였습니다. C++ 소스코드) 2022. 1. 25. [백준] 5427번 - 불 (C++) 문제 및 풀이 문제) 백준 - BFS - 불 https://www.acmicpc.net/problem/5427 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net 불이 번지는 BFS, 상근이가 탈출하기 위한 BFS를 따로 돌려서 상근이가 탈출할 수 있는 최소 시간을 구합니다. 매 Test Case마다 visited배열과 Fire배열을 초기화하는 것을 잊지 맙시다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%205000~9999/542.. 2022. 1. 24. [백준] 4358번 - 생태학 (C++) 문제 및 풀이 문제) 백준 - 구현 - 생태학 https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 해시 맵을 통해 나무 종의 비율을 구하는 문제였습니다. 해시 맵은 쉽게 해결했으나, printf를 통해 소수점을 구현하는 단계에서 맞왜틀을 시전 했습니다.(아직도 왜 틀렸는지 모르겠습니다.) 결국 cout.precision을 통해 소수점 반올림을 처리했더니 AC 받았습니다. C++ 소스코드) 2022. 1. 23. [백준] 3151번 - 합이 0 (C++) 문제 및 풀이 문제) 백준 - 이분 탐색 - 합이 0 https://www.acmicpc.net/problem/3151 3151번: 합이 0 Elly는 예상치 못하게 프로그래밍 대회를 준비하는 학생들을 가르칠 위기에 처했다. 대회는 정확히 3명으로 구성된 팀만 참가가 가능하다. 그러나 그녀가 가르칠 학생들에게는 큰 문제가 있었다. www.acmicpc.net N이 최대 10000이므로 O(N*N*logN)의 시간 복잡도로 해결할 수 있었습니다. 두 개의 숫자(이중 반복문)를 선택 후, 이분 탐색을 통해 나머지 숫자들 중 0이 되는 숫자의 개수를 세어주면 해결할 수 있습니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Probl.. 2022. 1. 23. [백준] 19699번 - 소-난다! (Python) 문제 및 풀이 문제) 백준 - 수학 - 소-난다! https://www.acmicpc.net/problem/19699 19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. 그러던 어느 날, 꿀벌에게 쏘이면 잠깐 www.acmicpc.net 에라토스테네스의 체로 소수 판별을 진행합니다. H의 범위가 1000 이하이고 뽑힐 수의 개수(M)가 최대 9개이기에 MAX를 10000으로 잡았습니다. 조합을 뽑아야 하기 때문에 C++ 대신 Python을 이용해 문제를 해결했습니다. Python 소스코드) 2022. 1. 21. [백준] 10546번 - 배부른 마라토너 (C++) 문제 및 풀이 문제) 백준 - 문자열 - 배부른 마라토너 https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net 중복된 이름도 존재하기 때문에 set보다는 multiset을 이용합니다. N개의 이름을 입력받아 multiset에 insert 후, N-1개의 이름을 지우고 남은 하나의 이름을 출력합니다. C++ 소스코드) 2022. 1. 21. 이전 1 ··· 7 8 9 10 11 12 13 ··· 25 다음 반응형