Java 22

백준 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..

백준 10973번 이전 순열 (java)

[Silver III] 이전 순열 - 10973문제 링크성능 요약메모리: 31964 KB, 시간: 464 ms분류조합론, 구현, 수학제출 일자2024년 12월 31일 22:22:42문제 설명1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 바로 이전에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다.1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1입력첫째 줄에 N(1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄에 순열이 주어진다.출력첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다..

백준 10972번 다음 순열 (java)

[Silver III] 다음 순열 - 10972문제 링크성능 요약메모리: 24596 KB, 시간: 408 ms분류조합론, 수학제출 일자2024년 12월 30일 19:47:05문제 설명1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다.1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1예제 입력 1 복사41 2 3 4예제 출력 1 복사1 2 4 3입력첫째 줄에 N(1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄에 순열이 주어진다.출력첫째 줄에 ..

백준 1759번 암호 만들기 (java)

[Gold V] 암호 만들기 - 1759문제 링크성능 요약메모리: 14264 KB, 시간: 108 ms분류백트래킹, 브루트포스 알고리즘, 조합론, 수학제출 일자2024년 12월 28일 23:00:57문제 설명바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을..

백준 14501번 퇴사 (java)

[Silver III] 퇴사 - 14501문제 링크성능 요약메모리: 14220 KB, 시간: 108 ms분류브루트포스 알고리즘, 다이나믹 프로그래밍제출 일자2024년 12월 27일 16:38:29문제 설명상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자.35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며..

백준 1748번 수 이어 쓰기 1 (java)

[Silver IV] 수 이어 쓰기 1 - 1748문제 링크성능 요약메모리: 14144 KB, 시간: 152 ms분류구현, 수학제출 일자2024년 12월 24일 16:56:32문제 설명1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223...이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.출력첫째 줄에 새로운 수의 자릿수를 출력한다.풀이1의 자리 수는 9개10의 자리 수는 90개100의 자리 수는 900개다 만약 목표 수가 1024라면 9 * 190 * 2900 * 3에 1000부터 1024까지 * 4..

백준 6064번 카잉 달력 (java)

[Silver I] 카잉 달력 - 6064문제 링크성능 요약메모리: 18920 KB, 시간: 320 ms분류브루트포스 알고리즘, 중국인의 나머지 정리, 수학, 정수론제출 일자2024년 12월 20일 17:32:08문제 설명최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현하였다. 의 다음 해를 표현한 것을 이라고 하자. 만일 x 예를 들어, M = 10 이고 N = 12라고 하자...

[자바 트러블슈팅 공부] APM이란?, 스카우터 기본 세팅

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. APM 이란APM은 Application Performance Monitoring의 약자로, 애플리케이션의 성능을 모니터링하고관리하는 도구를 의미한다.APM을 사용하면 운영 중인 시스템을 모니터링하거나 성능 측정 시 병목 지점을 매우 빠르게 찾을 수 있다.상업용 APM 종류다이나트레이스 (dynatrace)현존하는 최고의 APM이다.AI까지 도입하여, 자동으로 장애를 감지하는 기능도 제공하고 있다.금전적 여유가 충분하다면 반드시 사용할 도구라고 한다.앱 다이나믹스 (AppDynamics)다이나 트레이스의 기술 지원을 맡았던 사람들이 나가서 만든 APM이라고 한다.뉴 레릭 (New Relic)다양한 언어와 다양한 플러그인을..

APM/Scouter 2024.12.19

백준 14500번 테트로미노 (java)

[Gold IV] 테트로미노 - 14500문제 링크성능 요약메모리: 36788 KB, 시간: 688 ms분류브루트포스 알고리즘, 구현제출 일자2024년 12월 19일 13:32:26문제 설명폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절..