전체 글 62

[프로그래머스/JAVA] 불량 사용자

풀이 아이디의 최대가 최대 8개이기 때문에 조합으로 가능 user id 중 banned id의 개수만큼 조합으로 고름 banned id에 해당하는 경우만 최종적으로 고른 user id의 index를 stringbuilder로 이어붙임 어차피 한자리수*banned id개수니까 가능함 이어 붙인 문자열을 set에 넣음 해당 문자열이 set에 존재할 경우 0 반환 아닐경우 1 반환 비고 각각 다른 banned_id에 의해 걸렸더라도 제재아이디의 목록이 같으면 하나의 경우임 더보기 package KakaoIntern2019.P64064_불량사용자; import java.util.HashSet; public class Solution { static HashSet set; static public int solu..

[프로그래머스/JAVA] 크레인 인형 뽑기 게임

문제요약 NxN 보드에서 하나씩 뽑아서 바구니에 넣기 바구니에서 똑같은 거 두개 쌓이면 터짐 터진 인형 개수 구하기 풀이 각 컬럼을 스택으로 만들어서 넣어 놓음 moves 순서대로 stack에서 인형을 꺼냄 바구니도 스택으로 바구니에서 peek으로 확인 꺼내온 인형과 같으면 pop해서 버림 다르면 push 더보기 package KakaoIntern2019.P64061_크레인인형뽑기게임; import java.util.Stack; public class Solution { static int solution(int[][] board, int[] moves) { int answer = 0; final int N = board.length; Stack[] stacks = new Stack[N]; Stack b..

Mattermost에서 Jenkins 알림 받기

webhook을 사용하여 jenkins의 상황을 mattermost에서 알림으로 받아 볼 수 있도록 설정하겠습니다 1. Mattermost에서 좌측 상단에 있는 햄버거 버튼을 눌러 통합으로 이동합니다 2. 전체 Incomming Webhook > Incomming Webhook 추가하기 3. 제목, 설명을 적당히 입력 후 알림을 받아 볼 채널을 선택합니다 4. 목록에서 새로운 webhook이 생성된 것을 확인할 수 있습니다. 해당 URL은 jenkins에서 사용되므로 우측의 아이콘을 눌러 복사해놓습니다. 5. Jenkins에서 Jenkins 관리 > 시스템 설정으로 이동합니다. 6. 밑으로 쭉 내려서 Global Mattermost Notifier Settings를 찾습니다. Endpoint에 4번에서 ..

개발킹/etc 2021.04.30

Mattermost에서 GitLab 알림 받기

생각보다 Mattermost 연동에 관련된 글을 찾기가 힘들어서,,, 나중에 또 쓸 일이 있을까 싶어 남기는 글 Mattermost에서 GitLab의 알림을 받을 수 있도록 설정을 해보겠습니당 1. 로그만 따로 모아 볼 수 있는 채널을 하나 만들도록 하겠습니다 2. 햄버거 버튼 > 통합으로 이동합니다 3. 전체 Incoming Webhook ⇒ Incoming Webhook 추가하기 버튼을 클릭합니다 4. 제목 및 설명은 적당히 입력한 후 채널은 1번에서 만든 로그 채널로 선택합니다. 5. 웹훅이 설정된 것을 확인 할 수 있습니다 해당 URL은 GitLab에서 설정할 때 사용되므로 복사해놓도록 합니다 6. 알림을 받고자 하는 GitLab Project로 이동합니다 Settings ⇒ Integration..

개발킹/etc 2021.04.19

[BOJ/20057/JAVA] 마법사 상어와 토네이도

날짜 분류 번호 알고리즘 분류 21-04-06 BOJ 20057 구현, 시뮬레이션 링크 문제 요약 토네이도가 중점을 시작으로 이동 이동하면서 각 칸에 있는 모래가 날아감 주변 칸에 비율이 정해져 있고 이동하고 남은 모든 모래는 이동한 칸의 앞칸으로 전부 이동 밖으로 나간 모래의 양 구하기 풀이 기존의 모래를 전부 더함 토네이도가 상하좌우로 움직이면서 모래가 이동할 위치를 tr, tc 배열로 미리 정해놓음 남은 모래를 기존의 모래 총합에서 뺌 더보기 package b20.BOJ_20057_마법사상어와토네이도; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class..

알고리즘왕/BOJ 2021.04.06

[프로그래머스/42889/JAVA] 실패율

Kakao Blind Recruitment 2019 날짜 분류 번호 알고리즘 분류 21-03-31 프로그래머스 42889 구현? 링크 문제 요약 각 스테이지의 실패율을 구하여 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호를 정렬하여 반환 실패율 = 도달했지만 클리어X인 사람 / 도달한 사람 풀이 각 스테이지에 머물러 있는 사람의 숫자를 구함 스테이지1부터 머물러있는 사람/도달한 사람(=실패율) 계산 도달한 사람 = 전체 - 이전단계에 머물러 있는 사람 실패율과 스테이지의 번호를 담고 있는 Node객체를 pq에 넣어 정렬 pq에서 하나씩 빼면서 정답 배열에 넣음 비고 휴.... 내일은 레벨 3으로 풀어야지... 더보기 package KakaoBlindRecruitment2019.P42889_실패율..

[프로그래머스/42890/JAVA] 후보키

Kakao Blind Recruitment 2019 날짜 분류 번호 알고리즘 분류 21-03-29 프로그래머스 42890 subset 링크 문제 요약 주어진 테이블에서 후보키 찾기 유일성과 최소성이 보장되어야 함 풀이 dfs(subset)을 사용하여 속성의 부분집합을 전부 구함 선택된 속성들만 가지고 객체를 만들어서 set에 넣음 (중복 허용X) set의 크기가 처음 주어진 table의 튜플 개수와 같으면 유일성이 보장된다는 의미 유일성이 보장되는 속성들의 리스트를 만듦 속성들의 리스트를 크기 순으로 정렬 list의 크기만큼 반복문을 돌리면서 result에 있는 집합들과 비교 최소성 비교 최소성이 만족되는 경우에만 result에 넣음 비고 급하게 풀어서 코드가 깰꿈하지 못함 ㅠㅠ 더보기 package K..

[프로그래머스/60057/JAVA] 문자열 압축

Kakao Blind Recruitment 2021 문제 날짜 분류 번호 알고리즘 분류 21-03-25 프로그래머스 60057 문자열 링크 문제 요약 문자열을 앞에서부터 n개씩 잘랐을 때 같은 값이 연속해서 나오면 반복해서 나온 개수``반복된문자열로 줄인다 ex) ababrtrt => 2ab2rt n개씩 자르고 남은 문자열은 뒤에 붙여줌 압축한 후의 길이를 비교해서 가장 짧은 것을 정답으로 반환 풀이 길이를 1~문자열의길이 반복 idx를 0부터 길이만큼 늘려주면서 반복 이전 문자열과 지금 문자열을 비교해서 같으면 cnt 증가 다르면 String builder인 result에 cnt와 직전 문자열을 붙여줌 cnt가 1이면 붙이지 않음 pre=cur을 해주고, cnt는 1로에 초기화 남은 문자열 털어넣기 비..

[프로그래머스/42892/JAVA] 길 찾기 게임

2019 KAKAO BLIND RECRUITMENT 문제 날짜 분류 번호 알고리즘 분류 21-03-29 프로그래머스 42892 트리, 재귀 링크 문제 요약 트리를 구성하는 노드들이 2차원 좌표 위에 주어졌을 때 전위 순회, 후위 순회한 결과를 반환 규칙 모든 노드는 서로 다른 x값을 가짐 자식 노드의 y 값은 항상 부모 노드보다 작음 모든 노드는 왼쪽 서브 트리에 있는 노드들의 x값보다 작음 풀이 pq에 Node를 row순, col순으로 정렬하여 넣음 pq에서 하나씩 빼면서 tree에 넣음 트리가 완성되면 재귀를 통해 탐색함 비고 설마 이게 되겠어? 했는데 됐다 우하하 더보기 package KakaoBlindRecruitment2019.P42892_길찾기게임; import java.util.ArrayLi..