일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 라인
- spring
- 백트래킹
- 파이썬
- C++
- jvm
- 프로그래밍언어론
- 시애틀
- 머신러닝
- 벤쿠버
- 알고리즘
- 스프링 프레임워크
- binary search
- Java
- 스타벅스
- C/C++
- STL
- leetcode
- 다이나믹프로그래밍
- dfs
- 라인플러스
- 백준
- Python
- DP
- 모두를 위한 딥러닝
- Spring Framework
- 프로그래머스
- BFS
- 릿코드
- 딥러닝
- Today
- Total
목록알고리즘 (59)
케이스윔의 개발 블로그
문제 정의 word1, word2 가 주어질 때, word1 으로 시작하며 각 문자열을 더하며 하나의 문자열로 만들라. 하나의 문자가 다른 하나의 문자보다 길다면 합쳐진 문장 뒤에 붙여라! 풀이 각 문자열에서 하나씩 떼와서 하나의 긴 문자열을 만드는 문제인데.. 처음에는 word1, word2 둘 중에 더 긴 length() 를 확인하고 반복문으로 돌려고 했는데 그렇게까지 생각해버리니까 그럼 나중에 더 긴 문자열이 어떤지도 판단해줘야해서.. 번거로워졌다. 생각해보니까 그냥 반복문 조건을 둘 중 하나라도 남아있으면 계속 돌게하고 이미 머지에 문자를 다 소진한 경우는 char 접근해서 예외 발생하지 않게 해주면 된다. 오늘도 easy 여서 좋았다^^.. 코드 class Solution { public Str..
문제 정의 캔디를 가지고 있는 n개의 아이들이 있다. candies[i] 는 i번째 아이가 가지고 있는 캔디의 숫자이고, extraCandies 는 당신이 가지고 있는 캔디의 수다. i번째 아이에게 extraCandies를 전부 다 준다고 했을 때, 그 아이가 모든 아이 중 가장 많은 캔디를 가지고 있는 것인지 result[i] 에 true/false를 담은 array를 반환하라. https://leetcode.com/problems/kids-with-the-greatest-number-of-candies/ Kids With the Greatest Number of Candies - LeetCode Can you solve this real interview question? Kids With the G..
문제 정의 m * n 의 격자판과 공이 주어졌을 때, 공의 첫번째 위치가 주어진다. 한번 움직일 때 공을 인접한 4곳의 위치로 이동할 수 있다고 할 때 maxMove 번 동안 공을 움직일 수 있게 허용된다. m, n, startRow, startColumn, maxMove 가 주어질 때 격자판 밖으로 공을 나가게 할 수 있는 경로의 수를 구하고, 그 값은 매우 크기때문에 10의 9승 + 7 로 나눈 값을 반환하라. https://leetcode.com/problems/out-of-boundary-paths/ Out of Boundary Paths - LeetCode Level up your coding skills and quickly land a job. This is the best place to ..
문제 정의 root 가 주어졌을 때 레벨 순서대로 순회하며 각 노드의 값을 반환하라. https://leetcode.com/problems/binary-tree-level-order-traversal Binary Tree Level Order Traversal - 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 풀이 어제 문제 마저 못풀고 오늘 풀이 쓰기가 살짝 찝찝하지만.. 쉬운 문제라서 먼저 풀었다. 이틀 전 풀었던 문제에서는 각 레벨의 가장 오른쪽 노드값을 ..
문제정의 binary tree의 root가 주어졌을 때, 오른쪽 측면에 서있다고 상상하고 위에서부터 아래로 차례대로 볼 수 있는 노드의 값을 반환하라. https://leetcode.com/problems/binary-tree-right-side-view/ Binary Tree Right Side View - 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 풀이 처음엔 너무 단순하게 생각해서 root를 시작점으로 오른쪽 노드만 탐색하는 재귀함수를 짰다가 바로 틀려..
문제 정의 i번째 step 에 대한 cost 가 들어있는 integer array인 cost가 주어지고, cost를 지불하면 1번 또는 2번의 step을 이동할 수 있다. 0 혹은 1의 인덱스에서 시작할 수 있을 때 top을 가기 위한 최소한의 cost를 구하라. https://leetcode.com/problems/min-cost-climbing-stairs/ Min Cost 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 풀이 ..
문제수열 S가 어떤 수 Sk를 기준으로 S1 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다.예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다.수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오.문제 출처: 백준 온라인저지(https://www.acmicpc.net/problem/11054) 풀이가장 긴 증가하는 부분 수열, 가장 긴 감소하는 부분..
문제건물 순서 규칙이 주어지고, 해당 규칙에 맞춰서 건물을 지을 때 특정건물을 가장 빨리 지을 때까지 걸리는 최소시간을 알아내는 프로그램을 작성하시오.문제 출처: 백준 온라인저지(https://www.acmicpc.net/problem/1005) 풀이처음엔 BFS를 써서 풀어봐야겠다! 라고 생각을 했는데 먼저 풀어본 친구가 BFS를 쓰면 시간초과가 난다고 알려주어서 고민을 했던 문제입니다. 그리고 떠오른 것은 topological sort였습니다. topological sort는 어떠한 사건이 선행되어야 다음 사건을 진행할 수 있는 관계들이 주어질 때 활용할 수 있는 방법입니다.(이후에 topological sort라는 포스팅을 통해 자세히 다뤄보도록 하겠습니다.) 이 문제에서도 2번, 3번 건물을 무조..