Java 20

백준 7562번 나이트의 이동 (java)

[Silver I] 나이트의 이동 - 7562문제 링크성능 요약메모리: 98092 KB, 시간: 484 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2025년 4월 11일 11:32:43문제 설명체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까?입력입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다.각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있..

[프로그래머스] Level3 파괴되지 않은 건물 (JAVA)

[level 3] 파괴되지 않은 건물 - 92344문제 링크성능 요약메모리: 214 MB, 시간: 58.97 ms구분코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT채점결과정확성: 53.8효율성: 46.2합계: 100.0 / 100.0제출 일자2025년 03월 23일 21:10:57문제 설명문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]N x M 크기의 행렬 모양의 게임 맵이 있습니다. 이 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있습니다. 적은 이 건물들을 공격하여 파괴하려고 합니다. 건물은 적의 공격을 받으면 내구도가 감소하고 내구도가 0이하가 되면 파괴됩니다. 반대로, 아군은 회복 스킬을 사용하여 건물들의 내구도를 높이려고 합니다.적의 공격과 ..

[프로그래머스] Level3 단속카메라 (JAVA)

[level 3] 단속카메라 - 42884문제 링크성능 요약메모리: 58.9 MB, 시간: 8.14 ms구분코딩테스트 연습 > 탐욕법(Greedy)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2025년 02월 03일 14:17:51문제 설명고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요.제한사항차량의 대수는 1대 이상 10,000대 이하입니다.routes에는 차량의 이동 경로가 포함되어 있으..

[프로그래머스] Level3 불량 사용자 (JAVA)

[level 3] 불량 사용자 - 64064문제 링크성능 요약메모리: 134 MB, 시간: 126.86 ms구분코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 21일 13:32:08문제 설명개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 사용자라는 이름으로 목록을 만들어서 당첨 처리 시 제외하도록 이벤트 당첨자 담당자인 "프로도" 에게 전달하려고 합니다. 이 때 개인정보 보호을 위해 사용자 아이디 중 일부 문자를 '*' 문자로 가려서 전달했습니다. 가리고자 하는 문자 하나에 '*' 문자..

[프로그래머스] Level3 징검다리 건너기 (JAVA)

[level 3] 징검다리 건너기 - 64062문제 링크성능 요약메모리: 81.5 MB, 시간: 102.55 ms구분코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십채점결과정확성: 64.1효율성: 35.9합계: 100.0 / 100.0제출 일자2025년 01월 20일 15:24:43문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]카카오 초등학교의 "니니즈 친구들"이 "라이언" 선생님과 함께 가을 소풍을 가는 중에 징검다리가 있는 개울을 만나서 건너편으로 건너려고 합니다. "라이언" 선생님은 "니니즈 친구들"이 무사히 징검다리를 건널 수 있도록 다음과 같이 규칙을 만들었습니다.징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 ..

[프로그래머스] Level3 등굣길 (JAVA)

[level 3] 등굣길 - 42898문제 링크성능 요약메모리: 53.9 MB, 시간: 0.83 ms구분코딩테스트 연습 > 동적계획법(Dynamic Programming)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2025년 01월 16일 04:05:16문제 설명계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다.가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다.격자의 크기 m, n과 물이 잠긴 지역의 좌표를..

[프로그래머스] Level3 네트워크 (JAVA)

[level 3] 네트워크 - 43162문제 링크성능 요약메모리: 74.9 MB, 시간: 0.25 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 14일 23:27:14문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주..

[프로그래머스] Level2 의상 (JAVA)

[level 2] 의상 - 42578문제 링크성능 요약메모리: 77 MB, 시간: 0.11 ms구분코딩테스트 연습 > 해시채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 11일 19:21:21문제 설명코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다.종류이름얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다.착용한 의상의..

백준 10974번 모든 순열 (java)

[Silver III] 모든 순열 - 10974문제 링크성능 요약메모리: 81456 KB, 시간: 2172 ms분류백트래킹, 브루트포스 알고리즘제출 일자2025년 1월 9일 17:47:48문제 설명N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.출력첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.풀이dfs로 완탐하면 끝이다.전체 코드public class Main { static int N; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedRe..

[개발일지] webp 확장자를 통한 이미지 제공 최적화 작업

공식 홈페이지 개발 중 프론트엔드에서 이미지를 띄우는 데 시간이 너무 오래 걸린다는 문제점을 확인했다. 이미지의 해상도가 너무 높아, 이미지의 크기가 큰 것이 문제였다.이렇게 큰 크기의 이미지가 동시에 8개가 제공되니, UX가 낮아질 것이 분명했고 대책을 찾고자 했다. 이를 해결하기 위해 처음엔 해상도를 낮추는 방식을 생각했었다. 여러 가지 해결책을 찾아보던 중 webp라는 확장자를 알게 되었고, 이를 프로젝트에 적용한 내용을 정리해보려 한다. Webp 확장자란?WebP는 구글에서 개발한 이미지 파일 형식으로, JPEG, PNG, GIF와 같은 기존 이미지 형식에 비해 더 높은 압축률을 제공한다.WebP는 두 가지의 압축 방식을 대표적으로 제공한다.손실 압축 (Lossy Compression): JPEG..