본문 바로가기

Algorithm42

[Leetcode(릿코드)] 3. Longest Substring Without Repeating Characters (Medium) leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - 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 문제 가장 긴 문자열의 길이를 구하는 문제이다 (중복없이) 예를 들어 s = "abcabcbb"가 input으로 들어오면, 중복되는 문자열 없이 abc, bca, cab, b ... 만들 수 있다 따라서 답.. 2020. 11. 29.
[Leetcode(릿코드)] 21. Merge Two Sorted Lists (Easy) leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists - 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 문제 ListNode 인스턴스 2개를 받아서, 값이 작은거부터 하나씩 추가하여 정렬하여 ListNode를 반환하는 문제이다 예를 들어 l1 = [1,2,4], l2 = [1,3,4]가 주어지면 [1,1,2,3,4,4]로 리턴하면 된다 여기서 ListNode 형태는 아래처럼 주어진다 publi.. 2020. 11. 25.
[Leetcode(릿코드)] 70. Climbing Stairs (Easy) leetcode.com/problems/climbing-stairs/ Climbing Stairs - 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이라는 숫자가 주어진다 그리고 이 숫자까지 올라갈 수 있는 경우의 수를 출력하는 문제이다 점프할 수 있는 수는 1과 2이다 예를 들어, n=1, [1] (1개) n=2, [1+1, 2] (2개) n=3, [1+1+1, 1+2, 2+1] (3개) n=4, [1+1+1+1, 1+2+1, 2+1+1, 1+1+2, .. 2020. 11. 18.
[Leetcode(릿코드)] 2. Add Two Numbers (Medium) leetcode.com/problems/add-two-numbers/ Add Two Numbers - 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 문제 배열 2개가 주어진다 두 배열의 각 자리 숫자의 합을 더한다 ex) l1 = [2,4,3], l2 = [5,6,4] 2 4 3 + 5 6 4 --------- 7 0 8 일반적인 덧셈과 반대로 앞자리부터 더한 후, 10이 넘어가면 뒤로 1을 넘겨준다 정답은 [7,0,8]이다 해결 l1 또는 l2가 널이 아니거나.. 2020. 11. 18.
[Leetcode(릿코드)] 53. Maximum Subarray (Easy) leetcode.com/problems/maximum-subarray/ Maximum Subarray - 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 문제 subarray의 합이 최대일 때, 그 값을 출력하는 문제이다 해결 dp배열을 이용해 풀었다 (시간복잡도 : O(N)) dp 배열을 만들고, dp 값을 계산하면서 max 값을 update ex) nums : -2 1 -3 4 -1 2 1 -5 4 dp : -2 1 -2 4 3 5 6 1 5 dp는 해당 인덱.. 2020. 11. 18.
[프로그래머스] 배달 (Level 3) programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 도로의 정보(2차원배열), N(노드의 개수), K(거리)가 주어진다 도로의 정보에는 각 노드-노드 (거리)의 정보가 들어있다 N=5이면 1,2,3,4,5라는 도시가 있고 도로의 정보가 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]]이면, 1-2도시의 거리는 1, 2-3도시의 거리는 3.. 이다 문제는 다음.. 2020. 11. 18.
[프로그래머스] 방문 길이 (Level 3) programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 (0,0)부터 시작한다 U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 위와 같은 규칙으로 움직인다 (input : ULURRDLLU) 이동한 길의 개수를 출력하는 문제이다 (하지만, 한번 이동했던 길은 카운트하지 않는다) 해결 Enum 클래스에 각 규칙의 좌표를 정의한다 Graph 클래스에는 Point(좌표) 클래스와 Set을 필드로 둔다 그리고 move()라는 메소드를 통해 좌표를 움직인다 start, end 객체를 생성하고 Set에 넣는다 (여기서 좌표는 최대 -5 < x,y < 5 .. 2020. 11. 18.