전체 글 148

[Spring boot / 오류] build.gradle 오류 (gradle버전과 의존성 옵션)

gmail API를 사용하기 위해 공식 홈페이지에서 제공하는 레퍼런스를 보면서 dependencies에 추가하다가 오류가 발생했다. https://developers.google.com/gmail/api/downloads?hl=ko#gradle Gmail API 클라이언트 라이브러리  |  Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Gmail API 클라이언트 라이브러리 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Gmail API는developers.google.comdependencies { //gmail API compile 'com.google.apis:google-api..

삽질 2024.12.04

[프로그래머스] 보석 쇼핑 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요어피치가 보석 매장에서 모든 종류의 보석을 적어도 하나씩 포함하는 가장 짧은 구간을 찾으려 한다. 진열대 번호 순서대로 주어진 보석 배열에서 이러한 구간의 시작과 끝 번호를 반환하는 문제이다.접근 방법보석 종류 개수 파악:주어진 gems 배열에서 HashSet을 사용해 보석의 고유한 종류 개수를 구한다. 이를 기준으로 구간 내에서 모든 보석 종류를 포함했는지 판단한다.투 포인터 알고리즘 활용:start와 end 포인터를 사용해 현..

[ODOQ] 로그와 메트릭

[One Day One Question]로그와 메트릭에 대해 설명해 주세요.로그(Log)와 메트릭(Metric)은 소프트웨어 시스템의 상태를 모니터링하고 성능을 분석하는 데 사용되는 중요한 데이터 유형입니다. 이 두 가지는 서로 보완적인 역할을 하며, 시스템 문제를 식별하고 해결하는 데 유용합니다. 로그 (Log)1. 정의로그는 시스템, 애플리케이션, 또는 서비스에서 발생한 이벤트의 기록입니다.주로 텍스트 형식으로 저장되며, 시간순으로 정렬됩니다.2. 특징구조적/비구조적 데이터: 로그는 메시지, 코드 스택, 이벤트 세부정보 등 다양한 형식으로 작성됩니다.컨텍스트 제공: 특정 이벤트가 왜 발생했는지와 그에 대한 자세한 설명을 제공합니다.시간 기반: 각 로그는 일반적으로 타임스탬프가 포함되어, 이벤트 발생 ..

cs/ODOQ 2024.12.03

[프로그래머스] 불량 사용자 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/64064  문제 개요이벤트 응모자 중 특정 패턴과 일치하는 아이디를 불량 사용자로 제재하려고 한다. 응모자 아이디와 불량 사용자 패턴이 주어질 때, 불량 사용자 패턴에 따라 제재될 수 있는 응모자 아이디 목록의 가능한 경우의 수를 구하는 문제이다. 제재 아이디 목록의 순서는 상관없으며, 동일한 내용을 가진 경우는 하나로 간주한다. 접근 방법불량 사용자 패턴 변환:주어진 불량 사용자 패턴(banned_id)의 * 문자를 정규 표현식의 와일드카드인 .으로 변환하여 매칭 가능한 형태로 변경한다.더보기이유 및 필요성1. *는 정규 표현식의 문자가 아님문제에서 주어진 banned_id에는 *가 포함되어 있..

[ODOQ] 얕은 복사 깊은 복사

[One Day One Question]얕은 복사와 깊은 복사 대해 설명해 주세요.1. 얕은 복사 (Shallow Copy)정의: 객체의 최상위 계층만 복사하며, 객체 내부에 포함된 참조형 데이터(다른 객체나 배열 등)는 복사되지 않고 원본 객체와 동일한 참조를 공유합니다.특징:변수 값: 기본형 데이터(숫자, 문자열 등)는 복사본과 원본이 독립적입니다.참조형 데이터: 내부 참조 데이터(리스트, 딕셔너리 등)는 원본 객체와 동일한 메모리 주소를 가리킵니다. 따라서 원본 또는 복사본 중 하나에서 내부 데이터를 변경하면 다른 쪽에도 영향을 줍니다.import java.util.ArrayList;class ShallowCopyExample implements Cloneable { int number; ..

cs/ODOQ 2024.12.02

[프로그래머스] 단속카메라 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요고속도로를 이동하는 차량들의 경로가 주어질 때, 모든 차량이 단속 카메라를 한 번 이상 만나도록 카메라를 설치하려 한다. 차량의 진입 지점과 진출 지점을 기준으로 최소한의 카메라를 설치하는 문제이다.접근 방법차량의 진출 지점을 기준으로 오름차순 정렬:모든 차량이 카메라를 만나기 위해 가장 빨리 고속도로를 떠나는 차량의 진출 지점에 카메라를 설치한다는 전략을 세운다. 이를 위해 Arrays.sort를 사용하여 routes 배열을 진..

[프로그래머스] 최고의 집합 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/12938# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요주어진 자연수의 개수 n과 합 s를 만족하는 집합 중, 각 원소의 곱이 최대가 되는 집합을 구하는 문제입니다. 만약 해당 조건을 만족하는 집합이 없다면 [−1]을 반환합니다. 접근 방법조건 확인n>s인 경우, 합 s를 만들 수 없으므로 [−1]을 반환합니다.최적의 분배 계산합 s를 n개의 원소로 최대한 고르게 나누는 것이 곱을 최대화하는 방법입니다.각 원소에  s/n을 할당합니다.s%n의 나머지 값은 각 원소에 하나씩 분배하여 ..

[프로그래머스] 정수 삼각형 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요주어진 삼각형 구조에서 꼭대기에서 시작하여 대각선 아래 방향으로 이동하며 숫자의 합을 최대화하는 경로를 찾는 문제입니다. 각 위치에서는 바로 아래칸의 두 개의 숫자 중 하나로만 이동할 수 있습니다. 접근 방법역방향 동적 프로그래밍(DP)삼각형의 아래쪽에서부터 위쪽으로 값을 갱신하며 최대값을 계산합니다.각 칸에서 가질 수 있는 최대값을 그 칸의 값과 아래층 두 칸의 최대값 중 더 큰 값을 더하여 구합니다.구체적인 동작삼각형의 가장 ..

[프로그래머스] 무인도 여행 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요무인도에서 상, 하, 좌, 우로 연결된 땅들을 하나의 섬으로 간주하며, 각 섬의 식량 값을 모두 더해 해당 섬에서 머무를 수 있는 최대 일 수를 계산하는 문제입니다. 지도를 나타내는 문자열 배열이 주어지고, 숫자는 섬의 땅을, 'X'는 바다를 나타냅니다. 여러 섬의 최대 머무를 수 있는 일수를 계산하여 오름차순으로 정렬하여 반환합니다. 섬이 없다면 -1을 반환합니다.접근 방법지도 초기화문자열 배열을 정수형 배열 map으로 변환하..

[프로그래머스] 미로 탈출 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요1 x 1 크기의 직사각형 미로에서 시작 지점에서 출발해 레버를 작동시킨 후 출구로 이동하여 탈출하는 데 걸리는 최소 시간을 구하는 문제입니다. 이동은 통로에서만 가능하며, 벽은 지나갈 수 없습니다. 레버를 작동시키기 전에도 출구를 지나갈 수는 있지만, 레버를 작동해야만 출구를 통해 탈출할 수 있습니다.접근 방법지도 구성: 주어진 문자열 배열을 2차원 배열로 변환하여 미로 지도를 만듭니다.BFS 탐색:시작점에서 레버 위치까지의 ..