Programming457 백준 사이트가 문을 닫았네요. 꽤 오랫동안 함께 했었던 백준 사이트가 문을 닫았네요.제가 풀었던 문제들에 대해서 설명하는 카테고리도 운용하고 있었는데, 이제 더 이상 의미는 없어 보입니다. 채점 서비스로 오픈할 것이라고 하는데, 정확하게 어떤 것을 의미하는 것인지는 모르겠네요. 이제는 AI 코딩이 잘 하고 있어서 웬만한 문제들은 AI 코딩 기능을 이용하면 풀이가 가능하고, 설명도 잘 하고 있죠. 하지만 여전히 알고리즘을 배워야 한다고 저는 생각하고 있습니다. AI가 자잘한 코드를 작성하더라도 전체적인 맥락은 아직 사람이 자세하게 지시하고 조율해주어야 하니까요. 물론 이것도 언젠가는 AI에게 자리를 내주어야 할 때가 오겠죠. 짧으면 5년 정도 후에? 저도 실제 코드를 이제 클로드 코드(Claude Code)로 작성하고 있습니다.. 2026. 5. 16. 뛰어난 개발자들의 집중력 질문 실력이 좋고 연봉도 높은 개발자들은보통의 개발자들에 비해업무할때의 '집중력'도 대개 뛰어난 편인가요??답변 워낙 다양한 형태의 개발자들이 있어서요.이중 문제 해결 능력이 뛰어난 개발자들을 흔히 말하는 "인물"과 엮어서 설명하기도 합니다.간달프형 개발자이 유형은 정말 어디선가 갑자기 나타나서 문제를 해결하고는 조용히 사라지는 사람이다. 평소엔 잘 보이지도 않고, 회의 때도 말이 별로 없어서 뭘 하고 있는지 잘 모르겠는데, 진짜 위급한 상황—예를 들어 배포 직전에 오류가 터진다거나, 아무리 찾아봐도 이유를 모를 버그가 나올 때—그때 갑자기 등장한다. “이거 로그 경로 잘못 참조해서 그래요.” 한 마디 툭 던지고, 수정하고, 사라진다.그 집중력은 엄청나다. 등장할 땐 마치 모든 에너지를 한 곳에 쏟아붓는.. 2025. 5. 18. [C/C++] 프로젝트 오일러 #115 Counting Block Combinations II 프로젝트 오일러 #115번 문제는 최소 길이가 M 이상인 연속된 빨간색 블록과 검은색 칸(구분자)을 사용하여, 일렬로 배치할 수 있는 경우의 수를 조사하는 문제입니다. 다음과 같은 조건을 갖습니다. 1. 줄의 길이(n): 특정 길이 n의 직선 위에 빨간색(R) 칸과 검은색(B) 칸을 배치합니다. 2. 빨간색 블록의 최소 길이(M): 하나 이상의 연속된 빨간 칸을 하나의 “빨간색 블록”이라 할 때, 이 블록 하나는 최소한 M개의 연속된 빨간 칸으로 이루어져야 합니다. 3. 블록 사이의 구분(검은 칸): 두 개 이상의 빨간색 블록 사이에는 최소한 하나 이상의 검은 칸이 있어야 합니다. 즉, 빨간색 블록이 서로 인접한 형태로 놓이는 것은 허용되지 않습니다. 4. 모든 가능한 배치의 수 계산: 위의 조건을 만족.. 2024. 12. 19. [C/C++] 프로젝트 오일러 #114 Counting Block Combinations I (조합) 프로젝트 오일러 114번 문제는 길이가 n인 일렬의 칸에 일정한 조건을 만족하도록 빨간 블록을 배치하는 방법의 수를 세는 것에 관한 문제입니다. 이 때 사용되는 빨간 블록은 최소 3칸 이상의 길이를 가져야 하며, 빨간 블록들 사이에는 적어도 하나 이상의 검은 칸이 존재해야 합니다. 또한, 빨간 블록을 전혀 놓지 않는 경우도 하나의 가능한 배치로 포함합니다.문제에서 정의하는 함수 f(n)은 길이가 n인 칸에 위와 같은 규칙을 적용했을 때 나올 수 있는 모든 가능한 배치의 수를 나타냅니다. 주어진 예시로, n=7일 때 f(7)의 값이 특정 수(17)로 제시되며, f(50)의 값도 매우 큰 수(16475640049)로 주어집니다. 문제는 이러한 함수 f(n)의 값을 확장해 나갈 때, f(n)이 1,000,00.. 2024. 12. 18. [C/C++] 프로젝트 오일러 #113 Non-bouncy Numbers(수학) Project Euler 문제 113번은 숫자가 “증가형(increasing)” 혹은 “감소형(decreasing)” 형태인 ‘비탄력적(non-bouncy)’ 수의 개수를 구하는 문제입니다. 이 문제의 핵심 개념을 다음과 같이 정리할 수 있습니다. 1. 증가하는 수(Increasing number): 왼쪽에서 오른쪽으로 읽을 때, 각 자리수가 이전 자리수보다 작아지지 않는(즉, 비내림(non-decreasing) 순서) 수를 말합니다. 예를 들어, 112233이나 8999는 모두 증가하는 수에 해당합니다. 2. 감소하는 수(Decreasing number): 왼쪽에서 오른쪽으로 읽을 때, 각 자리수가 이전 자리수보다 커지지 않는(즉, 비내림(non-increasing) 순서) 수를 의미합니다. 예를 들어.. 2024. 12. 13. [C/C++] 프로젝트 오일러 #112 Bouncy Numbers(단순반복) Project Euler 문제 112, “Bouncy Numbers”는 숫자의 특성을 분석하는 문제입니다. 여기서 “Bouncy Number”란 증가하는 숫자도 아니고 감소하는 숫자도 아닌 숫자를 의미합니다. 증가하는 숫자는 각 자릿수가 왼쪽에서 오른쪽으로 갈수록 같거나 커지는 숫자입니다. 예를 들어 123, 455, 789와 같은 숫자는 증가하는 숫자입니다. 반대로 감소하는 숫자는 각 자릿수가 왼쪽에서 오른쪽으로 갈수록 같거나 작아지는 숫자를 말합니다. 예를 들어 321, 876, 954와 같은 숫자는 감소하는 숫자입니다. 그러나 132와 155349 같은 숫자는 증가하거나 감소하는 패턴이 없으므로 Bouncy Number로 분류됩니다. 문제는 Bouncy Number의 비율이 특정 퍼센티지(예: 50.. 2024. 12. 9. 이전 1 2 3 4 ··· 77 다음 728x90