PROGRAMMING
-
(백준 2840번 행운의 바퀴 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 4PROGRAMMING/STL 2024. 3. 27. 20:46
백준 2840번 https://www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net 풀이 방법 1. 길이가 N인 deque를 만들어 '?'으로 초기화한다. 2. K번 동안 입력 (n, k)에 대해 k가 맨 뒤에 가도록 설정하고, 맨 뒤에서 n번째에 다음 글자를 넣도록 한다. 문제 예시1에서 _ _ A → _ BA 이 되도록 한다. 3. B가 제일 뒤가 되도록 deque 원소를 이동한다. _ BA → A_B 2번과 3번 과정을 지속한다. #define _CRT_SECUR..
-
(백준 2346번 풍선 터뜨리기 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 3PROGRAMMING/STL 2024. 3. 26. 21:14
백준 2346번 https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net #include #include using namespace std; int main() { int N; cin >> N; int temp; deque dq; for (int i = 1; i > temp; dq.push_back(pair(i, temp)); } while (N--) { cout
-
(백준 1158번 요세푸스 문제 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 2PROGRAMMING/알고리즘 2024. 3. 26. 08:20
★ 연결 리스트 문제는 deque로 푼다 메모 ★ 백준 1158번 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net #include #include using namespace std; int main() { int N, K; cin >> N >> K; deque dq; for (int i = 1; i
-
(백준 1021번 회전하는 큐 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 1PROGRAMMING/알고리즘 2024. 3. 26. 08:05
아무래도 코드 디자인을 안 하고 짜다보니 코드에 예외도 많은 것 같고, 복잡하게 짜는 것 같아서 챗gpt의 도움을 받았다. 백준 1021번 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net #include #include using namespace std; int main() { int N, M; cin >> N >> M; deque dq; for (int i = 1; i > target; for (int i = 0; i < dq.size(..
-
★연결리스트 LinkedListPROGRAMMING/STL 2024. 3. 25. 00:27
라이님과 챗gpt를 통해 LinkedList 템플릿을 정리해보았다. https://blog.naver.com/PostView.naver?blogId=kks227&logNo=220781402507&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postList' 리스트(List), 배열(Array), 연결 리스트(Linked List) 오랜만입니다. 논문 읽다가 멘붕이 와서 빠르게 글 씁니다. 원래는 이번 차례에 DFS를 강의하려고 했으... blog.naver.com 라이님 블로그에서 unique_ptr 를 사용해서 좀 더 간단하고 안전한 코드가 되도록 chat gpt한테 시켰다.ㅎㅎ 아래 템플릿이 상당히 마음에 들어서 외..
-
(백준 2110번 공유기 설치 C++) 라이님 블로그 대회 알고리즘 따라잡기 6) 이분탐색 3PROGRAMMING/STL 2024. 3. 22. 21:52
이분탐색,,, 디버깅 포기한 문제가 속출 중인지라 오늘은 시작부터ㅋㅋㅋㅋ다른 분들의 풀이를 탐독하는 시간을 가져보았다. 안 그래도 자존감 떨어지데 백준까지 나를 힘들게 하면 너무 슬프니까 오늘은 많은 멋진 분들의 코드를 참고했다. 백준 2110번 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 이 문제의 아이디어는 이분탐색의 대상을 무엇으로 할지이다. 위치를 기준으로 하면 어렵다. 예를 들어 ..
-
(백준 2805번 나무 자르기 C++) 라이님 블로그 대회 알고리즘 따라잡기 6) 이분탐색 2PROGRAMMING/알고리즘 2024. 3. 18. 21:08
라이님 블로그에 나와있는 풀이를 잘 익혀서 modern C++스타일로 짜봤다. 라이님 풀이는 아래 블로그 참고! https://blog.naver.com/PostView.naver?blogId=kks227&logNo=220777333252&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postList 백준 2805번 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합..
-
절차형 재귀함수로 permutation 구현하기PROGRAMMING/C++ 2024. 3. 18. 20:57
모던 c++로 배우는 함수형 프로그래밍을 보다가 절차형 재귀함수로 nPr을 구현하는 걸 봤는데 코드가 너무 아름다워서 기록해놓는다. 절차형 재귀 : 값 반환 없이 각 재귀에서 특정한 작업을 처리 https://product.kyobobook.co.kr/detail/S000001804653 모던 C++로 배우는 함수형 프로그래밍 | 위스누 앤거로 - 교보문고 모던 C++로 배우는 함수형 프로그래밍 | 모던 C++의 새로운 기능과 함수형 프로그래밍을 다룬다. 기능이나 개념별로 예제 코드를 작성하고 실행하며 공부할 수 있도록 구성했다. 기본 문법은 자세 product.kyobobook.co.kr 책이 깊지 않다는 평이 있었는데, 내 실력에 이정도면 충분,,(조금 버겁)해서 좋다. 번역도 좋고 설명도 너무 친절..