목록알고리즘/프로그래머스 (54)
이숭간 공부기록
https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr 문제유형 : DP 문제풀이: n일때 가짓수는 n-1일때의 가짓수 + n-2일때의 가짓수이다. n-1에다가 가로길이가 1인 세로로 길쭉한 사각형을 각각 붙이는 경우 n-2에다가 가로길이가 2인 가로로 길쭉한 사각형을 각각 붙이는경우 위 두경우를 더한것이 n일때의 갯수이다. 정답코드 : 백준에서 똑같은 문제를 풀어봐서 바로 생각나서 풀수 있었다! def..
https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 문제유형 : 그리디 문제풀이 : 여분을 가진 학생도 도난을 당할수 있다 라는 예외처리를 잘 해주어야함 이때 해당학생은 reserve와 lost에서 모두 제거해줘야함 ( 집합의 차집합연산 이용 ) 나를 기준으로 앞에 애한테 줄수있는 상황이면 앞에애한테 먼저 주는식으로 reserve를 반복한다. 내가 만약 앞에 애와 뒤에애한테 모두 줄 수 잇는 상황일때 뒤에애한테 줘..
https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 문제유형 : 잘모르겠다.. 나는 DFS로 풀긴햇답 문제풀이 : DFS 과정 DFS를 하면서 depth를 저장하면서 진행한다. depth가 끝까지 도달했다면 현재경로까지 추가된 노드들을 copy해서 전역변수에 저장하고 리턴한다. dfs를 재귀호출하는 다음부분에 현재경로에서 현재노드(마지막노드)를 제거한다. 그다음 dfs를 호출하면 이전까지의 경로는 그대로 있고 마..
https://programmers.co.kr/learn/courses/30/lessons/72412 각각의 키워드 (java, back, ---) 를 키값으로하고 해당되는 사람을 값(집합)로 갖는 딕셔너리를 만든다. 조건을 돌때마다 각 키워드로부터 해당하는 사람의 값을 집합으로 가져오고 교집합을 구해나간다. 점수의 경우 ~이상일때 라는 조건에 해당해야하므로 추가 함수를 만들어서 해결한다. ( 몇점 이상에 해당하는 키값들의 값들을 합집합하여 하나로 만듬) ---효율성 통과 못함--- 출처 : https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/ 2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech de..
https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제유형 : 힙 문제풀이 : 여러개의 값중에서 최대값이나 최솟값을 빠르게 찾도록 고안된 자료구조인로 힙을 사용한다. 이 문제도 여러개의 값 중에서 가장 작은값을 차례로 2개씩 빼내서 비교하여 넣는 것이므로 우선적으로 가장 작은값을 뽑아내는것이 필요하다. 이때 단순히 min내장함수를 통해 리스트의 최솟값을 찾으면 O(n)시간이 걸리므로 시간초과가 날것..
https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 문제유형 : 이진탐색 문제풀이 : 이문제는 파라메트릭 서치 이며 파라메트릭 서치 문제는 일반적으로 이진탐색을 통해 해결할 수 있다. 파라메트릭 서치 : 최적화 문제를 결정문제로 바꾸어 해결하는 기법으로, 특정한 조건을 만족하는 가장 알맞은 값을 빠르게 찾는 최적화 문제이다. 이분탐색에서, 탐색범위를 조정하는 기준이 되는것으로 이 문제에서는 모든 사람이 입국심사를 ..