SW개발/코딩테스트

    [LeetCode]Symmetric Tree

    https://leetcode.com/problems/symmetric-tree/ Symmetric Tree - LeetCode Can you solve this real interview question? Symmetric Tree - Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). Example 1: [https://assets.leetcode.com/uploads/2021/02/19/symtree1.jpg] Input: roo leetcode.com 문제 분석 이진트리가 주어졌을 때 대칭구조를 가지는 트리인지 구하는 문제입니다. 처음 시도한 답안 # De..

    [LeetCode]Binary Tree Inorder Traversal

    https://leetcode.com/problems/binary-tree-inorder-traversal/description/ Binary Tree Inorder Traversal - LeetCode Can you solve this real interview question? Binary Tree Inorder Traversal - Given the root of a binary tree, return the inorder traversal of its nodes' values. Example 1: [https://assets.leetcode.com/uploads/2020/09/15/inorder_1.jpg] Input: root = [1,nu leetcode.com 문제 분석 트리를 중위 순회하고..

    [LeetCode]Climbing Stairs

    https://leetcode.com/problems/climbing-stairs/ Climbing Stairs - LeetCode Can you solve this real interview question? Climbing Stairs - You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Example 1: Input: n = 2 Outpu leetcode.com 문제 분석 특정 수의 계단이 있을 때 1칸 혹은 2칸만 오를 수 있다고 가정하면, 계단을 오르는 총 방..

    [LeetCode]Merge Two Sorted Lists

    https://leetcode.com/problems/merge-two-sorted-lists/description/ Merge Two Sorted Lists - LeetCode Can you solve this real interview question? Merge Two Sorted Lists - You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists leetcode.com 문제 분석 두개의 리스트를 오름차순으로 정렬하여 하..

    [LeetCode]Valid Parentheses

    https://leetcode.com/problems/valid-parentheses/ Valid Parentheses - LeetCode Can you solve this real interview question? Valid Parentheses - Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: 1. Open brackets must be closed by the sam leetcode.com 문제 분석 괄호의 쌍이 정상적으로 존재하는지 체크하는 문제입니다. 일명, VPS 알고리즘 ..

    [LeetCode]Longest Common Prefix

    https://leetcode.com/problems/longest-common-prefix/ Longest Common Prefix - LeetCode Can you solve this real interview question? Longest Common Prefix - Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". Example 1: Input: strs = ["flower","flow" leetcode.com 문제 분석 주어진 문자열에서 가장 긴 prefix를 찾아내는 문제입니다. 처음 시..

    [LeetCode]Roman to Integer

    https://leetcode.com/problems/roman-to-integer/description/ Roman to Integer - LeetCode Can you solve this real interview question? Roman to Integer - Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 For example, 2 is written as II in Roman numeral, just tw leetcode.com 문제 분석 로마 숫자를 10진법 정수로 변환하는 문제입니다. 답안 class ..

    [LeetCode]Two Sum

    https://leetcode.com/problems/two-sum/ Two Sum - LeetCode Can you solve this real interview question? Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not leetcode.com 문제 분석 주어진 nums 값에서 두 숫자를 골라 더해 target 값을 만드는 문제입니다. 항상 1개의 answer만이 도출됨..

    [프로그래머스]정수 삼각형 - DP

    https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr Top Down 방법 def solution(triangle): height = len(triangle) # Top-down 방법으로 풀이 for i in range(1, height): for j in range(i+1): print(i, j) # 가장 왼쪽의 경우 왼쪽수를 모두 더하면서 내려감 if j == 0: triangle[i][j] += triangle[i-1][j] # 가장 오른쪽의 경우 오른쪽수를 모두 더하면서 내려감 el..

    [프로그래머스]N으로 표현 - DP

    https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr def solution(N, number): # N과 number가 같은 경우라면 1을 반환한다. if N == number: return 1 # N은 최대 8번까지 이용할 수 있으므로, 8개의 set(집합)을 가진 리스트를 만든다. dp = [set() for _ in range(8)] # N을 N번 나열하는 것에 대한 경우를 미리 초기화해서 넣어준다. # 마지막에 추가하지 않는 이유는 해당 수를 사용해서도 사칙연산이 가능하기 때문이다. # [{5}, {55}, {555}, ...] for index, case in enumerate(dp..