본문 바로가기
반응형

전체 글1305

[BOJ] 백준 11866 요세푸스 문제0 Approach 출처: https://www.acmicpc.net/problem/11866 [BOJ 1158 요세푸스] 문제 보다 조건이 더 쉬워진 버전이다. ex) 메모리 제한, N의 최대값 등 [BOJ] 백준 1158 요세푸스 문제 출처: https://www.acmicpc.net/problem/1158 Input 7 3 Output 배열에서 K번째 원소를 찾은 후, 제거된 순서대로 Queue에 넣어줍니다. K 번째 원소를 찾을 때 원형 큐를 찾거나, 원소를 재배치하여 처리할.. zoosso.tistory.com [큐] Queue를 이용하면 쉽게 풀 수 있는 문제이다. 알고리즘 공부하는 사람들에게 요세푸스 문제가 Queue 자료구조를 연습하기 좋은 유형이기도 하다. [큐] Queue란? Queue란?.. 2022. 2. 17.
[BOJ] 백준 14425 문자열 집합 Approach 출처: https://www.acmicpc.net/problem/14425 집합 S에 같은 문자열은 주어지지 않는다. 이에 대한 구현은 할 필요가 없다. 처음 주어지는 N개의 문자로 Hash Table을 구성한다. 다음 M개의 문자열을 입력받을 때 Hash Table에 해당 문자열이 존재하는 확인한다. 📌 [C++] [STL] Set [C++] [STL] Set Set - 중복 없는 원소만을 가지는 집합 같은 것이다. (중복 허용 X) - 헤더파일: #include - set에 들어가는 원소는 자동으로 정렬된다. - set은 기본적으로 오름차순(less) 정렬이고 greater 조건자로 내림 zoosso.tistory.com Hash Table을 구현한다는 것에서 조건이 까다롭지 않기 때.. 2022. 2. 15.
[BOJ] 백준 2908 상수 Approach 출처: https://www.acmicpc.net/problem/2908 입력 받은 두수를 거꾸로 뒤집어서 비교하는 문제이다. 나눗셈과 나머지 연산으로 한자리씩 숫자를 뒤집을 수 있다. C++ #include int A, B; int foo(int x) { int ret = 0; // 한자리씩 뒤로 밀기 for (int i = x ; i ; i /= 10) { ret *= 10; // 기존 숫자 앞으로 밀기 ret += (i % 10); // 1의 자리에 해당하는 숫자 채우기 } return ret; } int main() { // freopen("input.txt", "r", stdin); scanf("%d %d", &A, &B); A = foo(A); B = foo(B); printf.. 2022. 2. 14.
[BOJ] 백준 2902 KMP는 왜 KMP일까? Approach 출처: https://www.acmicpc.net/problem/2902 문제 이름 "KMP" 알고리즘과는 관련 없는 문제이다. 문자열을 제어하는 문제로 첫번째 대문자와 하이픈(-) 다음에 나타나는 대문자를 출력하면 된다. 문제에서 조건 보장해주기 때문에 하이픈 다음에 글자가 있는지 체크하는 등 추가 로직이 필요 없다. C++ #include #include using namespace std; string str; int main() { // freopen("input.txt", "r", stdin); cin >> str; // 첫번째 대문자 출력 cout 2022. 2. 12.
[BOJ] 백준 2864 5와 6의 차이 Approach 출처: https://www.acmicpc.net/problem/2864 주어지는 숫자에서 5와 6이 서로 변경될 수 있을 때 나올 수 있는 최소 합과 최대 합을 구하는 문제이다. 경우의 수는 5 or 6 으로 2가지이지만 합이 최소가 되는 경우는 6 → 5 가 되어야 한다. 합이 최대가 되는 경우는 5 → 6 이 되어야 한다. 예를들어 16796 와 58786 가 주어졌을 때, 최소합을 구하는 경우는 15795 + 58785 = 74580 C++ #include using namespace std; int A, B; int copyVal, ret; int multiplier, tmp; int func(int num, int from, int to) { ret = 0; copyVal = .. 2022. 1. 23.
[BOJ] 백준 2864 5와 6의 차이 Approach 출처: https://www.acmicpc.net/problem/2864 주어지는 숫자에서 5와 6이 서로 변경될 수 있을 때 나올 수 있는 최소 합과 최대 합을 구하는 문제이다. 경우의 수는 5 or 6 으로 2가지이지만 합이 최소가 되는 경우는 6 → 5 가 되어야 한다. 합이 최대가 되는 경우는 5 → 6 이 되어야 한다. 예를들어 16796 와 58786 가 주어졌을 때, 최소합을 구하는 경우는 15795 + 58785 = 74580 C++ #include using namespace std; int A, B; int copyVal, ret; int multiplier, tmp; int func(int num, int from, int to) { ret = 0; copyVal = .. 2022. 1. 23.
[BOJ] 백준 2839 설탕배달 Approach 출처: https://www.acmicpc.net/problem/2839 문제 요구사항을 토대로 쉽게 구현할 수 있는 문제이다. 5개와 3개짜리를 담을 수 있는 봉지가 있다. 봉지 개수를 최소화해야 하기 때문에 하나의 봉지에 많이 담을 수 있도록 5개 봉지 물량을 많이 확보해야 한다. 5개 봉지를 최대한으로 했을 때, 3개 짜리 봉지를 개수 조절해 모든 사탕을 담을 수 있는지 반복문으로 확인 #include using namespace std; int N; int main() { // freopen("input.txt", "r", stdin); cin >> N; // 봉지를 최소화 할 수 있게 5개 봉지를 최대한 많이 확보 for (int i = N / 5; i >= 0; i--) { i.. 2022. 1. 21.
[BOJ] 백준 2789 유학금지 Approach 출처: https://www.acmicpc.net/problem/2789 문자열이 주어졌을 때, { 'C','A','M','B','R','I','D','G','E' }에 해당하는 부분은 제외하고 다시 출력하는 문제이다. BOJ 특성상 데이터를 따로 저장하지 않고 바로 출력하면 된다. #include #include using namespace std; string str; char forbidden[9 + 1] = { 'C','A','M','B','R','I','D','G','E' }; bool check(char ch) { for (int i = 0; i > str; for (int i = 0; i < str.length(); i++) { if (check(str[i])) { cout 2022. 1. 20.
[노션] Notion 이미지 좌/우 정렬 효과 가져보기 노션에서도 에버노트와 같이 이미지를 첨부할 수 있다. 안타깝게도 이미지 좌우 정렬 기능을 현재까지 지원하지 않는다. 가독성을 위해서라도 해당 기능이 지원되었으면 한다. 이미지 자체(?)를 좌우 정렬하지 못하더라도 블록 배치를 통해서 비슷한 효과를 가질 수 있다. 다단 구성 활용 블록을 2단 구성과 같이 다단으로 구성하는 것이다. 📌 [노션] 단 구분하기 이렇게 배치하는 경우 오른쪽 블록도 활용이 가능하며 블록(단)의 크기를 조절해 이미지 크기도 조절해볼 수 있다. 들여쓰기 활용 다른 방법으로는 블록을 한번 들여쓰고 이미지 삽입하는 것이다. [Tab]을 누르면 들여쓰기가 아래처럼 되어지는데 들여쓰진 블록에 이미지를 삽입하면 아래와 같이 이미지가 배치된다. 단을 나누는 것은 아니며, 들여쓴만큼 왼쪽에 공간이.. 2022. 1. 20.
📚 [책 리뷰] 업무와 일상을 정리하는 새로운 방법 Notion 제목: 저자: 전시진, 이해봄 발간: 2019.05.16 출판사: 제이펍 정가 18,000원 노션 활용 가치가 있다! 많은 사람들에게 사랑받고 있는 노드 App 中 하나인 노션Notion 기존에는 에버노트(Evernote)를 활용하다가 주변에서 노션을 사용하는 경우가 많아지면 접해보게 되었다. 현재는 노션과 에버노트를 같이 사용하는 중이다. 📌 업무 생산성을 늘려주는 앱 업무 생산성을 늘려주는 앱 노션(Notion)은 현재 여러 사람들이 사용하는 도구 중 하나이다. • Google Drive, DropBox / Git / Slack / Trello / OneNote 여러 도구들과 연동이 좋은 편이다. • 활용정도에 따라 일상 기록 부터 업무.. zoosso.tistory.com 보통은 유튜브나 블로그를 .. 2022. 1. 18.
반응형