https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근 방법가장 처음에 순열을 구현해서 k 번째에 ans를 저장하여 return하는 방법을 사용했다 => 시간초과20! 을 부르트 포스로 구하려했으니 당연하다브루트포스가 아닌 바로 k 번째 수를 찾아야한다순열n의 가지수는 n!이므로 n * (n-1)! 의 가지수를 갖는다 즉1xxxx 가(n-1)! 개, 2xxxx 가 (n-1)!개 ... nxxxx 가 (n-1)!개 가 있다는 뜻이된다따라서 k 번째에 첫번째 수는 소수점을 버린 (k / (n-1)!..
https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근 방법maps가 100 x 100의 2차원 격자이므로 일반적인 그래프 탐색을 해도 되는 입력 범위이다.격자를 탐색하며 X이거나 방문했으면 넘어간다.아니면 bfs/dfs를 진행한다.탐색을 진행하며 vis배열에 방문기록을 남긴다. 식량의 합을 구하고, 리스트 ans에 합을 추가한다리스트를 정렬하고 배열로 바꿔 반환한다.코드 (BFS)import java.util.*;class Solution { int n,m; int[] dr = ..
https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근 방법최대 00:00 ~ 23:59 동안의 멜로디를 기억하며, 해당 멜로디가 일치하는 노래를 찾아 제목을 반환한다그런데 지문엔 " C, C#, D, D#, E, F, F#, G, G#, A, A#, B " 의 음만 입력될것이라고 했지만 E#과 B#도 고려해야한다.음을 하나하나 매번 비교하는건 복잡하고 OOB가 발생하기 쉬울거같다.C ~ B#까지의 음을 0 ~ 13으로 번호를 부여하고 int 배열로 바꾸어 비교를 진행했다[비교 과정] 먼저,..
https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근 방법두 배열 A, B에서 다음 두 조건 중 하나를 만족하는 최대 양의 정수 a를 찾아야한다A의 모든 원소와 나누어 떨어지고, B의 모든 원소와 나누어 떨어지지 않는다B의 모든 원소와 나누어 떨어지고, A의 모든 원소와 나누어 떨어지지 않는다.즉, A의 최대공약수가 B의 모든 원소와 나누어 떨어지지 않는다 -> 답 후보B의 최대공약수가 A의 모든 원소와 나누어 떨어지지 않는다 -> 답 후보둘 다 참이면, 둘 중 최대값둘 중 하나가 참이면 ..
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근 방법주문 배열의 길이는 2 ~ 20이고 각 주문의 길이는 2 ~ 10이다.코스 배열의 길이는 1 ~ 10이고 각 코스는 2 ~ 10이다.문제는 각 코스 길이에 맞는 요리조합을 구해야하는데 요리조합은 다음과 같은 요구사항이있다.주어진 코스 길이와 같은 조합을 찾아야한다가장 많이 나온 조합을 찾아야한다동률이면 모두 추가한다그래서 먼저 코스 길이에 맞는 조합을 맵으로 랭크한다.같은 횟수로 출현한 코스조합은 다 추가한다.코드import java.u..
https://school.programmers.co.kr/learn/courses/30/lessons/64064#qna 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근 방법1 1인풋값이 매우 적어 백트래킹으로 풀었다.먼저, user_id가 banned_id를 파라미터로 받아서 제재되어야하는지 판단하는 함수를 만들었다해당 함수를 기반으로 String 순열을 list에 담는다.조합으로 할때, 조건에따라 이전 idx의 데이터가 건너뛰어지는 경우가 생김순열로 모든 경우의 수를 뽑고 공통을 제거하는것이 편하다고 생각순열로 얻은 String 리스트를 정렬하여 set을 통해 같은 원소를 가진 배열을 필터링한다..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.