연속 펄스 부분 수열의 합 (프로그래머) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이 문제는 부분 수열의 최대 합을 구하는 문제와 엄청 유사합니다. 다른 점은 펄스 수열을 곱한 부분 수열의 최대 합을 구하는 것입니다. 문제에 대한 아이디어 부분 수열의 합을 구하는 방법은 DFS를 통해 모든 경우를 조사해서 최대 합을 찾는 방법이 존재합니다. 하지만 이 문제에서는 최대 500000개 이므로 DFS로 탐색하면 시간 초과가 나올 것입니다. 그러므로 O(n) 안에 풀어야 ..
가장 큰 수 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr int 배열이 주어지면 각 숫자를 적절하게 조합해 제일 큰 숫자를 만들면 됩니다. 문제에 대한 아이디어 주어진 int 배열을 적절한 조건에 맞게 정렬을 하면 될 것 같습니다. 문제는 2번 예시처럼 3, 30, 34를 어떻게 정렬할 것 인가 입니다. 둘 다 맨 앞자리는 똑같지만 뒤의 자리와 합한 숫자의 크기를 각각 비교해봐야 합니다!! 이렇게 비교하면 조건이 굉장히 많이 필요할 것 같습니..
불량 사용자 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 fr*d*과 일치하는 것은 frodo, crodo abc1**과 일치하는 것은 abc123 그러므로 조합은 frodo abc123, crodo abc123 2개입니다!! 문제에 대한 아이디어 배열의 크기는 1이상 8이하 입니다. banned_id도 이보다 작기때문에 완전 탐색으로 가능할 것 같습니다. banned_id와 일치하는 user_id를 찾습니다. 각각 user_id를 모든 조합..
스트림이란? (2)
·
카테고리 없음
https://product.kyobobook.co.kr/detail/S000061695652 이것이 자바다 | 신용권 - 교보문고 이것이 자바다 | JAVA 17 버전으로 업그레이드해서 돌아왔다! 7년 동안 꾸준히 사랑받은 자바 베스트셀러 1위, 『이것이 자바다』 개정판!『이것이 자바다』는 기본 개념에 충실한 설명으로 2015년 product.kyobobook.co.kr 요소 정렬 요소들을 stream을 이용해 오름차순 또는 내림차순으로 정렬하는 중간 처리 기능입니다. Stream, Double, Int, Long에 따라 sorted()를 쓸 수 있으며, sorted(Comparator)를 통해 Comparator를 지정 해 줄 수 있습니다. 스트림의 요소가 객체일 경우 객체가 Comparable을 구..
소수 찾기(프로그래머스) (JAVA)
·
카테고리 없음
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 numbers를 각각 나누어 숫자를 만들 때 소수인지를 검사 하는 것이빈다. 17은 7 17 71 3개의 소수를 만들 수 있습니다. 문제에 대한 아이디어 숫자가 0 ~ 9 까지이고 numbers의 길이는 1이상 7이하이기 때문에 완전 탐색으로 충분히 해결할 수 있습니다. numbers로 만들 수 있는 숫자를 다 탐색하면서 소수인지 검사하면 됩니다. 전체 코드 import java..
쿼드압축 후 개수 세기(프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이렇게 첫 번째 영역이 주어지면 쿼드 트리와 같은 방식으로 압축하는 것 입니다. 결국 0의 갯수는 4개, 1의 갯수는 9개 입니다. 문제 해결 방법 재귀를 사용해서 풀어야 하는 문제입니다. 똑같은 공간으로 계속 나누므로 적절하게 점화시막만 잘 만들면 쉽게 풀 수 있을 것 같습니다. 이 문제는 정사각형으로 계속해서 분할하면서 정사각형 안이 모두 0이거나 1이면 합치는 형식입니다. (off..