자바(37)
-
[프로그래머스] 가장 큰 수_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 정수를 이어 붙여 가장 큰 수를 만들기 위해서는 맨 앞자리의 숫자가 중요하다. 만약 앞자리의 숫자가 같다면 그 다음 숫자의 크기가 중요할 것이다. ex) [3, 30, 34, 5, 9] 프로그래머스 예제 3과 30을 두고 보면 3을 앞에 두는게 더 좋을 것이다. 330 vs 303 허나..
2022.02.22 -
[프로그래머스] K번째수_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr command 배열에는 [자를 array범위 시작, 범위 끝, K번째 수]가 들어있다. 따라서 array를 범위에 맞게 자르고, 해당 범위 내에서 K번째 수를 찾으면 되는 아주 단순한 로직 단, 코드를 좀 더 깔끔하고 효율적으로 짜길 원한다면 array를 새로 선언하고, 범위에 맞게 일일히 집어넣는 방식 보다는 copyOfRange라이브러리를 추천한다. Arrays.copyOfRange(복사할 array, 시작 ind..
2022.02.22 -
[프로그래머스] 이중우선순위큐_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 우선순위 큐 자료구조에서 최소와 최대를 한번에 관리하도록 요구하는 문제. 우선순위 큐 일반적인 큐의 구조에서, 선입 선출이 아닌 내가 정해둔 우선 순위가 먼저 나가도록 하는 자료구조이다. 주로 힙으로 구성된다 (이진트리) 최대 값이 우선순위 : 최대 힙 최소 값이 우선순위 : 최소 힙 명령어 내용 I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 최소 힙, 최대 힙을 각각 하나씩 만들어 마치 하나의 큐처럼 다룰 수 있도록 설계하였다. 또한 size변수를 만들어 '실..
2022.02.22 -
[Spring Boot] EMail 보내기
기존 프로젝트를 베타 오픈하기 전에, 피드백을 받는 기능을 추가하면 좋겠다는 생각이 들었다. 일종의 고객센터 같은 느낌? 간단한 입력 form에 작성한 후 보내면, 관리자 계정으로 메일이 오도록 하는 방식을 만들어보자. 개발 환경 Intelij 2021.2.3 Java 17 SpringBoot 2.6.3 Gradle 1.0.11.RELEASE Dependencies는 spring-boot-starter-mail를 사용한다. 필자는 Gmail SMTP Server를 이용해볼 것이다. (구글 계정만 있다면 무료로 발송할 수 있고, 관리자 계정이 구글이라 겸사겸사..) 1. application.properties 설정 application.properties에 Gmail SMTP Server 설정에 필요한 ..
2022.02.16 -
[프로그래머스] 디스크 컨트롤러_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제를 아주 잘 읽어봐야 한다. (그렇지 않으면 무수한 테스트케이스 실패의 환대를 받을 것임 ㅎ) 각 작업에 대해 [작업이 요청되는 시점, 작업의 소요시간]을 담은 2차원 배열 jobs가 매개변수로 주어질 때, 작업의 요청부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 처리하면 평균이 얼마가 되는지 return 하도록 solution 함수..
2022.02.15 -
[프로그래머스] 더 맵게_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 우선 순위 큐를 알면 쉽게 풀 수 있는 문제 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) 우선순위 큐에 스코빌 지수가 담긴 음식들을 넣으면, 루트노드 : 가장 맵지 않은 음식의 스코빌 지수 가 된다. 따라서 큐에서 값을 두개 꺼내면 해당 공식의 인자를 구할 수 있으..
2022.02.15