pooney
[프로그래머스] 문자열 내 마음대로 정렬하기
카테고리 없음 2023. 12. 17. 22:41

import java.util.*; class Solution { public String[] solution(String[] strings, int n) { Comparator stringComparator = Comparator.comparing(a -> a.charAt(n)); return Arrays.stream(strings) .sorted(stringComparator.thenComparing(Comparator.naturalOrder())) .toArray(String[]::new); } } https://school.programmers.co.kr/learn/courses/30/lessons/12915

article thumbnail
[Jenkins] Jenkins Branch별 Webhook 설정
DevOps 2023. 9. 5. 22:05

프로젝트를 진행하면서 수많은 개발서버와 수많은 브랜치가 생성이 되는데요. 저같은 경우 개발서버에 맞는 브랜치를 만들고 해당 브랜치를 Jenkins를 통해 빌드 배포하는 방식으로 많이 이루어 졌습니다. 하지만 개발서버가 많아 질 수 록 Merge하고 젠킨스를 통해 수동 배포하는 상황이 많아지면서 불필요한 동작과 시간이 소비가 많아졌습니다. 간략한 구조는 아래와 같은 구조가 될 거 같습니다. 하지만 대부분 별다른 설정없이 사용을 하면 젠킨스 Branch별 Job을 생성해서 Webhook설정하는 구조로 아래와 이미지 같이 많이 사용 하 실 겁니다. 물론 브랜치가 몇개 안되면 상관 없겠지만 점차 Branch의 숫자가 늘어나면 해당 Job의 개수도 많이 늘어나야 할 것입니다. Job 하나로 구성하고 Merger ..

article thumbnail
Spring Batch - Rest API JOB 구성
Spring boot/spring-batch 2023. 8. 27. 18:32

프로젝트를 진행하면서 Batch를 구성해야하는 경우가 많은데요. 대부분 Job을 구성 할때 DB를 조회하는 JdbcItemReader, Jdbccursoritemreader, Jdbcpagingitemreader등을 이용해서 만드는 경우가 많았습니다. 간혹 저의 경우 외부 Data를 받기 위해 API를 호출하고 받은 Response Data를 저희 DB에 넣어서 동기화하는 Job을 구성해야 하는 경우가 있었는데요. 대부분은 DB에서 read해서 Db에 write를 하는 글은 많이 보이지만 외부 연동이 들어가는 Job은 어떻게 구성을 해야하는지 잘 보이지 않아 공부 할 겸 글로 작성해보려고 합니다. 틀린 부분 이 있을 수 있으니 감안해주시면 감사하겠습니다. 요구조건 외부 Rest API를 통해 데이터를 받..

[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기
카테고리 없음 2023. 6. 4. 23:49

SELECT UGB.TITLE, UGB.BOARD_ID, UGR.REPLY_ID, UGR.WRITER_ID, UGR.CONTENTS, DATE_FORMAT(UGR.CREATED_DATE, '%Y-%m-%d') as CREATED_DATE FROM USED_GOODS_BOARD UGB INNER JOIN USED_GOODS_REPLY UGR ON UGB.BOARD_ID = UGR.BOARD_ID WHERE DATE_FORMAT(UGB.CREATED_DATE ,'%Y-%m') = '2022-10' ORDER BY UGR.CREATED_DATE ASC , TITLE ASC https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스 코드 중심..

[프로그래머스] 추억점수
알고리즘 2023. 6. 4. 23:38

public int[] solution(String[] name, int[] yearning, String[][] photo) { int [] answer = new int[photo.length]; Map nameMap = new HashMap(); for(int i=0; i

[프로그래머스] 달리기 경주
알고리즘 2023. 5. 31. 22:55

처음 Map을 사용하지 않고 for문으로 해결한 경우 최악의 수가 나와 시간에러가 발생하였다 이후 시간 문제를 해결 하기 위해 Map을 사용하는 것으로 해결하였다. import java.util.*; class Solution { public String[] solution(String[] players, String[] callings) { Map idxMap = new HashMap(); for(int i=0; i

[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기
알고리즘 2023. 5. 29. 01:03

해결답) 동률 리뷰수에 대한 정의가 정의가 되어 있지 않아 LIMIT1로 해결함. SELECT MM.MEMBER_NAME , R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') FROM REST_REVIEW R INNER JOIN MEMBER_PROFILE MM ON R.MEMBER_ID = MM.MEMBER_ID INNER JOIN ( SELECT COUNT(*) AS CNT , MP.MEMBER_ID from MEMBER_PROFILE MP INNER JOIN REST_REVIEW RR ON MP.MEMBER_ID = RR.MEMBER_ID GROUP BY MEMBER_ID ORDER BY CNT DESC LIMIT 1) A ON R.MEMBER_ID = ..

article thumbnail
프로그래머스 - 정수 내림차순으로 배치하기
알고리즘 2022. 12. 25. 22:11

문제 내가 해결한 답 1. Stream을 이용한 Sorting import java.util.*; import java.util.stream.Collectors; class Solution { public long solution(long n) { String s = Arrays.stream(String.valueOf(n).split("")).sorted(Comparator.reverseOrder()).collect(Collectors.joining()); return Long.parseLong(s); } }