목록전체 글 (709)
N
https://programmers.co.kr/learn/courses/30/lessons/12927?language=javascript 코딩테스트 연습 - 야근 지수 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도 programmers.co.kr 최대힙(max heap)을 이용한 문제 풀이. 최대힙을 클래스로 구현하고, 이 힙에 works의 요소를 하나씩 push한다. push하게 되면 알아서 최대힙으로 정렬이 된다. 이후 n만큼 반복하면서 힙을 순회한다. pop()을 하게 되면 가장 큰 수가 앞에 나오게 되며, 해당 일이 0이 아닌 경우 -1을 하여 다..
https://leetcode.com/problems/hamming-distance/ Hamming Distance - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 x와 y를 이진수로 바꿔서 각 자릿수를 비교했을 때 다른 비트의 수를 구하면 된다. 먼저 x를 이진수로 바꾼 값을 저장할 배열 xArr과 y를 이진수로 바꿔 저장할 배열 yArr을 선언한다. 그리고 리턴할 answer = 0. divide라는 함수를 이용해 인자로 들어온 n을 이진수로 만들어..
https://leetcode.com/problems/repeated-substring-pattern/ Repeated Substring Pattern - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문자열 패턴 찾기 문제. 이중 for문으로 쉽게 해결할 수 있다. 먼저 pattern을 0번째 인덱스부터 i번째 인덱스까지 자른다. 그리고 isRepeated라는 flag를 설정하고, 내부 for문이 모두 돌게 되면 isRepated는 바뀌지 않아 패턴 문자열이라..
https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ Find All Numbers Disappeared in an Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com nums 배열에서 없는 수를 answer에 담아 리턴하면 된다. 1 부터 nums.length 까지의 수가 nums에 담겨있다. check라는 배열을 length + 1 크기로 선언하고 false로 초기화한다. n..
https://leetcode.com/problems/arranging-coins/ Arranging Coins - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 계단식으로 코인을 쌓을 때, n 개의 코인이 몇층까지 완벽하게 채워져있는지 확인하는 문제다. sum과 row 두 변수를 이용해서 풀 수 있다. sum은 한 층마다 놓은 코인의 총 합이다. row 층마다 코인을 row 개 놓을 수 있으니, while문을 이용해 sum < n이라면 sum += row를 하..
https://leetcode.com/problems/add-strings/ Add Strings - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문자열로 이뤄진 두 수를 더한 값을 문자열로 다시 리턴하면 된다. 각 자리수를 number형으로 바꾸고 더한 값을 answer 배열에 push하는 과정이다. 먼저 두 수의 자릿수를 맞춘다. num1과 num2의 길이를 비교하여 더 작은 길이를 num1으로 바꿔준다. 이후 num1은 num2의 길이만큼 0을 앞에 붙여..
https://leetcode.com/problems/third-maximum-number/ Third Maximum Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com map을 활용. nums에는 중복된 수가 있을 수 있기 때문에, 중복을 제거하기 위해 map을 선언한다. 그리고 nums를 순회하면서 map에 nums[i]에 해당하는 수가 없으면 nums[i]를 key로 하여 value를 true로 해준다. 순회가 끝나면 다음은 map을 순회한다. ..
https://leetcode.com/problems/longest-consecutive-sequence/ Longest Consecutive Sequence - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Union-Find와 Map을 활용 parent라는 map을 선언. nums[i]를 순회하면서 key와 value를 모두 자기 자신인 nums[i]로 초기화한다. 이후 연속된 수의 부모를 하나로 합치는 작업을 진행. nums[i]를 순회하면서 unionPa..