✏️ PS/Boj
[ C++ ] 백준 1107: 리모컨
안녕하세요? 수구리입니다. 이번 포스팅에서는 백준 문제 중에서 브루트 포스 알고리즘에 대한 문제를 풀어보려고 합니다. 조만간 브루트포스 알고리즘에 대한 포스팅도 추가로 해야겠네요. 간단하게만 적어보자면.. 브루트 포스(Brute Force)는 우리나라 말로는 "완전 탐색"이라고 합니다. 알고리즘 이론 책들을 보면 가장 앞쪽에 나와있는 단원에 속하고요. 보통 일단 문제를 접하게 되면 가장 먼저 이 방법을 통해서 문제를 해결해보려고 시도를 합니다. 이 알고리즘으로 대부분 해결이 되지만, 탐색을 해야 하는 범위가 많아지면 시간이 오래 걸려 효율성 측면에서 걸리게 되는 경우도 있죠. 아무튼 나중에 더 자세히 알아보도록 하고 백준 리모컨에 대한 문제는 아래 링크에 걸어두겠습니다. [ 문제 ] 백준 1107: 리모..
[ C++ ] 백준 1920: 수 찾기
안녕하세요? 수구리입니다. 이번에 풀어볼 문제는 이분 탐색입니다. 이분 탐색은 한 배열에서 특정 요소를 찾기 위해서 사용되는 방법입니다. 이는 제가 요즘 즐겨보고 있는 터퀴즈에서 쉽게 접할 수 있습니다! 터퀴즈의 마지막 부분에서 퀴즈를 내는 부분에서 이용진 님께서 "~~ 산의 높이는 몇 m일까요?" 라던지 " ~~ 의 키는 몇 cm일까요?" 등의 문제를 낸 기억이 있습니다. 여기서 게스트는 1도 모르기 때문에 특정 숫자를 말하죠. 그러면 이용진 님께서는 답이 게스트가 말한 값보다 크다면 UP을, 아니라면 DOWN을 말하시죠! 이게 바로 이분 탐색 방법이라고 볼 수 있습니다. 생각보다 일상생활에서 흔히 볼 수 있죠?? 아무튼 각설하고 바로 문제 확인해 보시기 바랍니다! [ 문제 ] 1920: 수 찾기 ht..
[ python ] 백준 2839: 설탕 배달
안녕하세요? 수구리입니다. 이번 포스팅은 파이썬으로 그리디 문제를 풀어보려고 합니다. 그리디 알고리즘은 매 순간마다 이름처럼 가장 탐욕스러운 선택을 하는 알고리즘입니다. 하지만 이 알고리즘은 최적의 해를 찾는다는 보장은 하지 못합니다. 설탕 배달 문제는 아래 링크에 있으니 확인해주세요. [ 문제 ] 백준 2839: 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net [ 나의 풀이 ] # date : 2021.11.12 # problom : 2839..
[ C++ ] 백준 1712: 손익 분기점
안녕하세요? 수구리입니다. 이번에 풀어볼 문제는 백준의 손익 분기점이라는 문제입니다. 너무 간단하다고 생각해서 바로 풀었지만 시간 초과가 났었습니다. 문제의 정답률을 보니 약 25% 더라구요.. ㅎ 그래서 차근차근 다시 생각해보고 적절한 답을 풀어냈던 것 같습니다. 그때의 기억을 되살려보면서 복습 해보도록 하겠습니다. 문제는 아래 링크에 있습니다. 한번씩 생각해보시는 것도 좋아 보이네요. [ 문제 ] 1712: 손익 분기점 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www..
[ C++ ] 백준 2775번: 부녀회장이 될테야
안녕하세요? 수구리입니다. 이번 포스팅에서는 단계별로 풀어보기의 2차원 배열 문제를 가져왔습니다. 2차원 배열은 쉽게 말해서 격자모양의 배열이라고 생각하시면 됩니다. 각각의 원소에 접근하는 방식도 일차원 배열과 크게 다를 점이 없습니다. 문제를 풀어보면서 설명을 이어나가겠습니다. 아래는 백준 문제 링크입니다. 문제를 보시고 생각해보고 풀이를 봐주세요! [ 문제 ] 2755: 부녀회장이 될테야 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net [ 나의 풀이 ] #include using ..
[ C++ ] 백준 10818번: 최소, 최대
안녕하세요? 수구리입니다. 이번 포스팅에서는 단계별로 풀어보기 일차원 배열의 마지막 문제인 최소, 최대입니다. C++에서는 vector라는 컨테이너가 있는데 여기서 아주 쉽게 최솟값과 최댓값을 찾아낼 수 있습니다. 문제는 아래 링크에 있습니다. [ 문제 ] 10818: 최소, 최대 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net [ 나의 풀이 ] #include #include #include #define ..
[ C++ ] 백준 8958번: OX퀴즈
안녕하세요? 수구리입니다. 이번 문제도 마찬가지로 일차원 배열에 있는 문제입니다. 간단하게 설명하자면 OX 퀴즈 결과를 일차원 배열로 입력이 들어오게 됩니다. 이때 문제에서 정의한 규칙에 의해서 점수를 산출하여 출력하는 문제입니다. [ 문제 ] 8958: OX퀴즈 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net [ 나의 풀이 ] #include #include using namespace std; int main() { io..
[ C++ ] 백준 4344번: 평균은 넘겠지
안녕하세요? 수구리입니다. 이번에 풀 백준 문제는 평균은 넘겠지라는 문제입니다. 단계별로 푸는 문제를 쭉 풀고 있습니다. 지금은 1차원 배열과 관련된 문제들입니다. 문제는 아래 링크에 두었습니다. 문제를 확인하고 와주세요 [ 문제 ] 4344번: 평균은 넘겠지 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net [ 나의 풀이 ] #include #include #include #include #define all(v) v.begin(), v.end() using namespace std; int main() { ios_bas..
[ C++ ] 백준 3052번: 나머지
안녕하세요? 수구리입니다. 이번 백준 문제풀이도 마찬가지로 1차원 배열에 대해서 풀어보고 있습니다. 지난 문제랑 굉장히 비슷합니다. 따라서 문제를 풀고 보시면 좋을것같네요! 문제는 아래 링크에 있습니다. 질문이나 댓글은 언제나 환영입니다! [ 문제 ] 2577번: 숫자의 개수 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net [ 나의 풀이 ] #include #include #include #define all(v) v.begin(), v.end() using namespace std; int main() { ios_base::sync_with_stdio(false); cin.ti..
[ C++ ] 백준 2577번: 숫자의 개수
안녕하세요? 수구리입니다. 이번 백준 문제풀이도 마찬가지로 1차원 배열에 대해서 풀어보고 있습니다. 문제는 아래 링크에 있습니다. 질문이나 댓글은 언제나 환영입니다! [ 문제 ] 2577번: 숫자의 개수 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net [ 나의 풀이 ] /* date : 2021.09.02 problom : 2577 title : 숫자의 개수 discribe : 각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 생성 */ #include #include #include #define all(v) v.begin(), v.end() using n..