안녕하세요 ! 오랜만에 좋은 소식이 생겨 후기 글을 들고 와 보았습니다. 바로 IT 연합 동아리 DND에 합격한 것인데요, 복학 전에 참여할 수 있는 마지막 대외활동이라고 생각하여 간절한 마음으로 지원하였고, 운이 좋게도 500 명 정도의 지원자 중에서 최종 합격자로 선정이 되었습니다. DND는 프로젝트에 즐거움을, 모두에게 기회를이라는 슬로건에 맞게 운영되고 있어서, 지역이나 나이 등에 국한되지 않고 팀원을 모집하는 것 같았습니다. 저는 사이드 프로젝트를 운영진의 지도 체계 하에 8주 안에 경험할 수 있다는 점에 매력을 느꼈습니다. 저는 대학교 4학년 1학기 복학을 하반기에 앞두고 있었고, 복학 전에 개인 프로젝트로 개발 공부를 하려고 계획하던 중이었습니다. 그러나 DND를 통해 애자일, 데일리 스크럼..
부끄럽지만 .. 2023년 상반기를 마무리하며 처음으로 회고 글을 작성해보려고 한다. 2023 상반기를 짧게 정리하자면, 흘러가는 대로 살던 내가 마음을 고쳐먹고 크게 성장한 시기라고 할 수 있다. 겉으로 보기에 뭘 많이 하지는 않았지만, (못 했지만) 여러가지 실패를 맛보고 정신적으로 힘든 시기도 겪으니 스스로가 내면적으로 성장하였음을 느꼈다. 그래서 어떤 것을 했느냐 ! 괌 대학 (Guam University) 교환학생 2023년의 가장 큰 이벤트는 교환학생이 아니었나 싶다. 작년에 몇 개월을 준비해서 다녀왔고, 어찌저찌한 사정 때문에 일찍 귀국했지만 거기에서 혼자 돌아다니며 배운 점이 많다. 일단, 항상 내 사람들이 있는 곳에서만 살던 내가, 처음으로 아무런 연고도 없는 곳에 동떨어져 지내는 것이 ..
👻 문제 설명 BFS문제이지만, 인접한 칸으로 이동하는 기존 문제와 다르게 90도로 이동해야 하는 점 + 거울을 설치할 수 있는 곳까지 연속으로 쭉 이동해야하는 점이 달랐습니다. 이 점을 유의해서 BFS 코드를 조금 고쳐서 풀어보았습니다 : ) 😔 해결 과정 편의 상, 시작점 (#)에서 도착점(#) 까지 '빛이 이동한다'라고 표현하겠습니다. BFS를 수행하는 목적은, 빛이 시작점에서 도착점까지 이동하였을 때 '거울이 최소 몇 번 사용되느냐' 입니다. 이 말은 즉, '빛이 최소 몇 번 꺾이느냐'를 의미합니다. 따라서 거울을 놓을 수 있는 모든 위치에 대해서, 빛이 꺾일 수 있는 다음 위치를 모두 찾아 이동하는 것을 시뮬레이션하고 도착점(#)에 도달하였을 때 사용한 거울의 최솟값을 구하면 됩니다. 이 때 유..
🥲 문제 설명 https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 www.acmicpc.net 🐹 문제 해설 이 문제는 아래 두 가지로 나뉜다. (1) 돌을 2개 놓는 부분 (경우의 수 : 400 * 400 = 160,000) (2) 죽일 수 있는 상대 돌의 개수를 구하는 부분 (경우의 수 : (400 * 400) ^ 3 = 64000000) 방문하지 않은 돌을 찾는다. 그 돌에 속한 그룹을 찾는다. 그룹은 최대 3개씩 속하므로, 4..
스택(stack) #include // 스택 클래스 정의 class Stack { private: static const int MAX_SIZE = 100; // 스택의 최대 크기 int arr[MAX_SIZE]; // 스택을 저장할 배열 int top; // 스택의 가장 위에 있는 요소의 인덱스 public: Stack() : top(-1) {} // 생성자, 스택 초기화 // 스택이 비어있는지 확인 bool isEmpty() { return (top == -1); } // 스택이 가득 찼는지 확인 bool isFull() { return (top == MAX_SIZE - 1); } // 스택에 요소 추가 void push(int value) { if (isFull()) { std::cout
이분 탐색으로 lower_bound 구현하기 lower_bound는 어떤 수보다 크거나 같은 수가 처음 나오는 위치를 의미한다. 반대로, upper_bound는 어떤 수보다 큰 수가 처음 나오는 위치를 의미한다. vector v = {0, 1, 2, 3, 4, 5}; int target = 3; int left = 0, right = v.size() -1 ; while(left
String 부분 문자열 substr https://modoocode.com/235 C++ 레퍼런스 - string 의 substr 함수 modoocode.com basic_string substr(size_type pos = 0, size_type count = npos) const; 첫 번째 인자는 시작 위치, 두 번째 인자는 부분 문자열의 길이를 의미한다. 인자를 하나만 넣게 되면, 자동으로 문자열의 마지막 위치까지 잘라서 리턴하게 된다. 소문자를 대문자로, 대문자를 소문자로 ! Transform 함수 https://artist-developer.tistory.com/28 [C++] transform 함수 안녕하세요. 개발자 김모씨입니다. C, C++ 탭을 새로 만들었습니다~~~~~~ 여기에는 실무..
자료구조를 사용하지 않지만, 수학적 계산을 이용해 구하는 간단하고 다양한 예제들을 정리하려 한다. 양수, 음수에 대한 올림/내림/반올림 https://blockdmask.tistory.com/112 [C언어/C++] 올림, 내림, 반올림 (floor, ceil) 함수 안녕하세요 BlockDMask 입니다. 오늘은 올림, 내림 을 할수있는 ceil, floor 함수에 대해서 알아보고. floor 함수를 통해서 반올림을 하는 것 까지 보도록 하겠습니다. C의 함수들이 C++에 호환이 되어서 C blockdmask.tistory.com 이 분의 글을 참고하였다. 양수, 음수인 경우 사용법은 동일하다. #include #include int main(){ double n = 1.0124; cout