https://school.programmers.co.kr/learn/courses/30/lessons/64062# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법건너는 사람은 무한대, 각 돌의 내구도는 1 ~ 2억, 돌 내구도 배열의 크기는 최대 20만따라서 돌 배열을 순회하며 O(nlogm) 이하의 알고리즘으로 풀이를 해야한다한명씩 건널때 마다 돌 내구도는 -1이된다이분탐색으로 1 ~ 2억의 범위에서 적당한 사람 수 를 구하기로한다먼저 돌 내구도의 max값을 구해 이분 탐색을 구현한다건넌사람이 mid 값으로 가정하고 돌 내구도 배열을 순회한다s-m 값이 0 이하인구간이 k이상 유지된다면 해당 ..
https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근 방법결론은 문제에서 하란대로 하면된다 (근데 문제를 이해하기 힘들었다)문제의 핵심은 문자열을 받아 올바른 문자열로 바꾸는 메서드를 작성하는것이고 다음과 같은 흐름으로 구현할 수 있다입력 문자열이 비었다면 빈문자열을 반환한다입력 문자열을 u,v로 나눈다입력 문자열을 선형탐색하며 처음으로 "균형 잡힌 문자열"이 되는 구간 = u나머지 = vu 가 올바른 문자열이라면 출력 문자열에 u를 붙이고 v이를 다시 재귀로 돌린다올바르지 않다면출력 문자열..
https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근 방법gems 배열의 크기는 10만 이하이므로 O(n^2)은 안된다.조건에 맞는 구간을 찾는 문제이므로 투포인터 생각구간내에 모든 보석 종류가 있는지 확인해야하므로 set에 보석을 담아 보석 종류 개수 저장투포인터 구현right 포인터를 움직이며 구간을 늘린다 => map에 보석종류별로 몇개 나왔는지 저장left 포인터를 움직이는 조건: 포인터가 있는 보석이 1개 초과인 경우 움직이며 구간을 좁힌다길이 저장 조건: map 사이즈 == 보석 ..
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의 모든 원소와 나누어 떨어지지 않는다 -> 답 후보둘 다 참이면, 둘 중 최대값둘 중 하나가 참이면 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.