분류 전체보기(70)
-
[프로그래머스] 가장 큰 수_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] Slack Bot을 생성하여 알림 보내기
이전 Gmail Server 연동으로 메일 발송 기능을 구현해보았다. (해당 기능에 대해 알고싶다면 이곳 클릭..) 이번에는 유저들에게 특정 알림을 보내주는 슬랙봇을 만들어보자! Slack Bot 생성 먼저 Slack Bot 생성과 필요한 권한을 부여해보자. https://api.slack.com/apps/ 해당 링크로 들어가면 바로 생성 가능하다. workspace가 없다면 미리 만들어둬야 한다. 슬랙봇을 선택한 후 Slack Bot서비스를 사용하기 위해선 Token을 부여받아 API 서버에 요청해야 한다. 토큰은 일종의 입장권 개념이라고 생각하면 된다. 해당 토큰에는 다양한 기능이 추가될 수 있다. (해당 workspace 이용자 정보 접근, 이용자에게 메세지 보내기 등..) Slack에서는 이러한 ..
2022.02.21 -
[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