https://www.acmicpc.net/problem/2179 import java.io.*;import java.util.*;import java.util.stream.Collectors;public class Main { static int stoi(String s) { return Integer.parseInt(s); } static int N; static int firstIdx, secondIdx, maxCount; static List words = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new..
전체 글
안녕하세요. PS풀이, 개발일지 및 일기, 소소한 이야기를 적어가는 윤재 입니다.https://school.programmers.co.kr/learn/courses/30/lessons/42579?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr import java.util.*;class Solution { List answer = new ArrayList(); Map genreTotalPlayMap = new HashMap(); Map> genreMusicMap = new HashMap(); public int[] solution(String[] genres, int[] plays) { ..
JUnit5 에서는 여러 조건에 따른 테스트 실행 여부를 결정하는 기능을 제공한다. OS, JRE, property, 환경변수 등에 따라 제어할 수 있고, 이는 org.junit.jupiter.api.condition 패키지에서 확인할 수 있다. public class OSTest { @Test @EnabledOnOs(OS.MAC) @EnabledOnJre(JRE.JAVA_17) void mac_jre17_test() { System.out.println("메롱"); } @Test @EnabledOnOs(OS.MAC) @EnabledOnJre(JRE.JAVA_20) void mac_jre20_test() { System.out.println("바보"); } @Test @EnabledOnOs(OS.WIND..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 사실 책에서 풀이보고 풀었다. 처음에는 방문 여부를 boolean[][] 배열에 저장한 후, 방문 노드를 체크하는 식으로 했었는데, 같은 노드에 도착하더라도 출발 노드에 따라 총 4가지 경우의 수(동서남북)가 나올 수 있다는 걸 풀이보고 깨달았다...... 간선으로 접근했어야 했는데. 책에서는 Set을 문자열로 출발좌표->도착좌표로 공백으로 구분해뒀지만, 나중에 고쳐본다면 따로 Edge 클래..
https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 코드 전체는 맨 아래에 있습니다! 풀이 문제의 조건은 다음과 같다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오. 처음에는 소수이니까 에라토스테네스의 체를 쓸 생각이었다. 근데 문제 조건이 N보다 크거나 같다고 쓰여있어서, 머리 동동 굴렸다...
https://techblog.lycorp.co.jp/ko/about-atlassian-jira-ranking-algorithm-lexorank Jira의 이슈 정렬 방식이 Integer 방식이 아니라고?! 들어가며 안녕하세요. LINE+ Contents Service Engineering 조직에서 백엔드 개발을 하고 있는 김한솔, 문다정, 이현동, 조강훈입니다. 저희 조직에서는 그룹... techblog.lycorp.co.jp 예전 내일배움캠프 프로젝트 중, 트렐로와 같은 협업 프로젝트를 진행한 적이 있었다. 이걸 진행할 때 카드 정렬을 구현하고자 정말 많이 고민했었는데, 나는 저기 후보 중 LinkedList 방식을 고안했었다가 코스트가 많이 든다는 피드백으로 고민하다 다른 팀에서 가중치 방식을 고안..
https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 처음에는 조합으로 풀면 되겠다 싶어서 풀었다. 계속 안 풀렸는데, 공집합인 경우도 있어서 depth 가 0보다 큰 경우에 카운팅 하도록 했다. 그리고 제출 후, 구글링을 해보니 다 나랑 다른 풀이로 풀었었다. 가장 이해가 되는 사진이 있어서 가져와보면, 재귀인 것은 똑같지만, 현재 값을 포함하는 경우와 포함하지 않는 경우로 트리 구조로 가져가서 풀었다. 두 풀이..
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 전체 코드는 맨 마지막에 두었다. 문제를 풀기 전에 조합으로 팀을 나누고, 각 팀의 점수를 구한 뒤, 두 팀의 점수의 차 중 최솟값을 저장하면 되겠다 싶었다. 근데 우선 조합 구현을 순열로... 하고 있었고, 또 나는 조합 구현을 백트래킹으로 했고, 매개변수로 총 점수 합을 가져가는 식으로 구현했는데 다 풀고 찾아보니 조합때는 팀 편성만 담당하고, 마지막에 다 편성이 되면 그때 점수를 구하는 형태로 구현을 해둬서 나도..
복제 가용성은 일정 기간 동안 서비스를 정상적으로 사용할 수 있는 시간의 비율을 뜻한다. 레디스에서 고가용성을 확보하기 위해서는 아래의 두 가지 기능이 필요하다. 복제 : 마스터 노드의 데이터를 복제본 노드로 실시간 복사하는 기능이다. 마스터 노드의 서버에 장애가 생겨 데이터가 유실되어도 복제본 노드에서 데이터를 확인할 수 있다. 자동 페일오버 : 마스터 노드에서 발생한 장애를 감지해 레디스로 들어오는 클라이언트 연결을 자동으로 복제본 노드로 리디렉션하는 기능이다. 이를 통해 자동으로 엔드포인트를 변경하여 빠른 장애 조치가 가능하다. 레디스에서의 복제 구조 서비스에서 복제본 노드를 추가하는 이유는 다음과 같다. 애플리케이션을 실행하는 하드웨어는 언제든지 고장날 수 있기 때문에, 마스터 DB가 다운됐을 때..