분류 전체보기 (174) 썸네일형 리스트형 [코딩테스트] SWEA 1247 최적경로(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1247 최적경로입니다.포인트집과 회사의 위치는 고정되어 있고, 중간에 방문해야 하는 고객들의 위치를 어떤 순서로 방문할지 결정하는 것이 핵심 문제입니다.경로는 다음과 같은 형태로 구성됩니다:회사 → 고객 1 → 고객 2 → ... → 고객 n → 집이때, n명의 고객을 어떤 순서로 방문할지 결정하여 전체 경로의 맨해튼 거리 합이 최소가 되도록 해야 합니다.고객들의 방문 순서를 정하는 모든 경우를 탐색하려면 순열을 고려해야 하며, 이는 시간복잡도 O(n!)의 완전탐색 문제로 볼 수 있습니다.최악의 경우 n = 10일 때, 총 경우의 수는 10! =.. [코딩테스트] SWEA 1249 보급로(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1249 보급로입니다.포인트문제가 여러 조건이 많은 것 같지만 배열의 숫자는 이동비용이라고 가정하면 결국 출발지로부터 도착지까지의 최소 비용을 구하는 문제입니다.따라서 BFS로 문제를 풀면 가능합니다. BFS는 한 위치에 도달하기에 최소 경로가 보장되기 때문에 step이라는 배열을 통해 비용을 저장합니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.Lin.. [코딩테스트] SWEA 1218 괄호 짝짓기(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1218 괄호 짝짓기입니다.포인트닫힌 괄호 ), ], }, >는 항상 그에 대응하는 열린 괄호 (, [, {, 뒤에 나와야 합니다.따라서 문자열을 순회하면서 닫힌 괄호를 만날 때마다 최근에 열린 괄호와 짝이 맞는지 확인해주는 방식으로 유효성을 판단할 수 있습니다. 이를 위해 가장 적절한 자료구조는 LIFO(Last-In-First-Out) 구조인 스택(Stack) 입니다.열린 괄호는 스택에 저장하고,닫힌 괄호를 만났을 때 스택의 top과 매칭되는 열린 괄호인지 확인합니다.괄호가 올바르게 짝지어지지 않았거나, 스택이 비어있는 경우 → 올바르지 않은 .. [코딩테스트] SWEA 1226 미로1(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1226 미로1입니다.포인트먼저 시작점과 목표 지점을 설정합니다.시작점으로부터 상하좌우 방향으로 이동 가능한지를 순회하면서 탐색을 진행합니다.이동 중에는 벽은 갈 수 없도록 범위 체크를 합니다.또한 이미 방문한 구간은 다시 탐색하지 않도록 처리하여 중복을 방지합니다.위 조건을 기반으로, 너비 우선 탐색(BFS)를 사용해 전체 경우를 탐색합니다.소스코드package SWExpert.Implementation;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStr.. [코딩테스트] SWEA 2819 격자판의 숫자 이어 붙이기(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 2819 격자판의 숫자 이어붙이기입니다.포인트제가 생각한 포인트는 다음과 같습니다.4X4의 격자시작점이 16개완전탐색 가능성총 7개의 길이.16 * 4^6 = 2^16의 작업Java기준 4초 내 가능 => 완전탐색 가능DFS(재귀)를 통한 탐색각 칸을 시작점으로 재귀적으로 탐색하여 경로를 구성.각 숫자는 중복을 허용하지 않는 점. => HashSet 사용 소스코드package SWExpert.Implementation;import java.io.BufferedReader;import java.io.IOException;import java.io.I.. [CI/CD] Github Action 문법 및 사용법 정리 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁해당 포스팅은 Github Action 사용법 정리입니다. 서론GitHub Actions는 소프트웨어 워크플로우를 자동화하는 도구입니다. 이를 통해 코드를 빌드하고, 테스트하고, 배포하는 과정을 간소화할 수 있습니다. 특히 GitHub Actions는 YAML 파일을 기반으로 정의되며, 다양한 이벤트(예: push, pull request, cron 등)에 따라 실행됩니다.이번 포스팅에서는 GitHub Actions의 기본 개념과 함께, API를 기능별로 자동화하거나 Python 프로젝트에서 유용하게 사용할 수 있는 예제를 소개합니다. Github Act.. [Spring] @Slf4j가 뭐야? 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링 정리를 위한 포스팅입니다.해당 포스팅은 @Slf4j 정리입니다. 로그가 뭐야?로그(Log)는 애플리케이션이 실행되면서 발생하는 이벤트, 오류, 상태 정보 등을 기록하는 중요한 데이터입니다.프로그램의 실행 흐름을 추적하고, 문제 발생 시 원인을 분석하는 데 필수적인 요소입니다.로그가 중요한 이유디버깅 & 문제 해결애플리케이션에서 오류가 발생했을 때, 로그를 통해 원인을 분석하고 해결할 수 있습니다.예를 들어, 사용자가 API 요청을 보냈을 때 응답이 늦거나 실패하는 경우 로그를 확인하면 어느 단계에서 문제가 발생했는지 파악할 수 있습니다.운영 모니터.. [Spring] 직렬화, 역직렬화 관련 어노테이션 정리 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링 정리를 위한 포스팅입니다.해당 포스팅은 직렬화, 역직렬화 어노테이션 정리입니다. 직렬화? 역직렬화?직렬화(Serialization)직렬화란 객체를 JSON, XML, 바이너리 등 데이터 형식으로 변환하는 과정을 의미합니다.이 과정을 통해 데이터를 네트워크로 전송하거나 데이터 스트림으로 전송하는데에 사용되빈다.import com.fasterxml.jackson.databind.ObjectMapper;public class Main { public static void main(String[] args) throws Exception { .. 이전 1 2 3 4 5 6 ··· 22 다음