코딩 테스트/프로그래머스
-
[2020 카카오 인턴십] 스티커 모으기(2)코딩 테스트/프로그래머스 2023. 4. 7. 19:12
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1칸 띄워서 계산하는 문제이므로 개수가 3개 이하라면 그 수들 중 가장 큰 수가 정답이 됨. a, b, c 일 땐 a와 c도 합체가 안되므로 dp [n]=max(s [n]+dp [n-2], dp [n], s [n]+dp [n-3] ) 경우의 수 첫 번째 수부터 계산(이 경우 마지막 숫자는 빼줘야 함) 두 번째 수부터 계산(이 경우 마지막 숫자도 더하기 가능) 세 번째 수부터 ..
-
[2019카카오] 불량 사용자코딩 테스트/프로그래머스 2023. 4. 7. 16:17
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 불량 사용자 id에 해당 할 수 있는 유저 id를 전체적으로 다 찾아봄(해당 하는 유저id의 인덱스를 gr[불량사용자 인덱스]에 넣어줌) 그 뒤 bfs 방식으로 모두 탐색 제제 아이디 목록들을 구했을 때 순서와 관계없이 동일하면 같은 것으로 처리하기 때문에 집합으로 체크해줌 소스 코드 from collections import deque def solution(u_id, b_..
-
[해시] 베스트 앨범코딩 테스트/프로그래머스 2023. 4. 6. 16:44
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 구해야 할 값은 각 장르의 총 합, 해당 장르에서의 최대 재생횟수 2개 추출 어떤 장르들이 있는지 알기 위해 장르 리스트를 집합화 시켜서 중복을 없애고 다시 리스트화 시켜줌(index 처리를 위해) 어떤 값이 최솟값이 될지 모르므로 "a"라는 장르는 -1 번 이라는 고정값을 넘겨주기 위해 gens와plays에 "a",-1 추가 g라는 리스트는 각 행에 [해당 장르 총 재생수,..
-
[연습 문제] 숫자 게임코딩 테스트/프로그래머스 2023. 4. 5. 18:55
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 b가 최대 승점을 얻었을 때의 경기를 출력하는게 아닌 승점만 출력하는 문제 a의 순서를 바꿔도 상관 x (b가 그것에 맞춰 경기하는 방식이 되기 때문) a와 b를 내림차순으로 정렬 idx 를 0 으로 잡은 후, a[idx]와 b[0]의 최대 값을 계속 비교 b[0]가 a[idx]보다 크다면 a[idx]보다 작은 값들은 모두 b[0]보다 큰 값이므로 이후 비교 의미x b[0]>..
-
[그리디] 단속 카메라코딩 테스트/프로그래머스 2023. 4. 3. 19:12
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 routes에 대한 정렬을 진입,진출 중 어떤 것으로 할 지 선택해야함 진출로 잡아야 해당 차량이 이동하는 구간에서의 카메라 위치를 잡을 수 있음. 현재 차량의 진입 시점이 카메라보다 크다면 그 카메라는 지금의 차량을 잡을 수 없으므로 카메라를 하나 더 추가해야함 그 카메라의 위치는 현재 차량의 진입,진출을 모두 커버 가능해지므로 최대 범위인 진출로 일단 잡아둠. 3,4번 논..
-
[동적 계획법] 등굣길코딩 테스트/프로그래머스 2023. 3. 31. 18:52
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 좌표 (1,1)에서 출발 해서 (n,m)으로 도착하는 최단 경로의 개수를 구하는 문제(문제에서는 m,n 이라 했는데 평소 n,m으로 습관이 되어있어서 n,m으로 도착하는 걸로 설정해서 품) 최단 경로로 도착하는 거리가 아닌 경로의 개수를 구하는거임 visited 그래프에서 웅덩이인 부분은 -1로 미리 표시 (못 건넘) 오른쪽과 아래로만 이동 하니 이전 경로로 빠질 경우 x 1..
-
[DFS/BFS] 단어 변환코딩 테스트/프로그래머스 2023. 3. 30. 19:24
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 begin 에 담긴 단어를 알파벳 하나씩 바꿔가며 target에 담긴 단어로 변환하는 과정 규칙은 words 리스트에 담긴 단어들로만 변환 할 수 있음. 딕셔너리를 이용해서 풀 수도 있겠지만 그냥 인덱스로 계산해서 코드를 짬 begin이 변할 수 있는 것들도 찾기 위해 일단 words에 담음 words에 담긴 각각의 단어들에 대해 자신이 변할 수 있는 모든 경로를 찾아서 그래..