일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- kotlin
- 코틀린
- baekjoon
- 네트워크
- BFS
- 백트래킹
- java
- 모던자바
- programmers
- 프로젝트
- 백준
- Spring
- algorithm
- OS
- backtracking
- lambda
- DFS
- 자료구조
- DP
- 스프링
- back-end
- 그래프
- Brute-force
- Java8
- 운영체제
- TDD
- LEVEL2
- 프로그래머스
- 알고리즘
- Today
- Total
목록LEVEL2 (5)
요깨비's LAB
class Solution { fun solution(w: Int, h: Int): Long { var answer: Long = 0 var w = w.toLong() var h = h.toLong() val gcd = getGcd(w,h) answer = ((w*h) - (w+h-gcd)) return answer } fun getGcd(num1: Long, num2: Long):Long { var n1: Long var n2: Long var gcd:Long = 1 if(num1 >= num2) { n1 = num1 n2 = num2 } else { n1 = num2 n2 = num1 } for(i in 1..n2) { if(n1 % i == 0.toLong() && n2 % i == 0.toLong..
[ 문제 ] 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | 로 땅이 주어졌다면, 1행에서 네번째 칸 (5)를 밟았으면, 2행의 네번째 칸 (8)은 밟을 수 없습니다. 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution 함수를 완성해 주세요. 위 예의 경우, 1행의 네번째 칸..
Stack을 이용하여 해결하였습니다. 1. 괄호를 한개 읽어온다. 2. (1) '('인 경우 Stack에 PUSH (2) ')'인 경우 Stack Size가 0이면 false / 0보다 크면 POP 1번으로 회귀 3. 모든 괄호를 읽었으면 Stack을 체크해서 Stack이 다 비어있으면 올바른 괄호이므로 TRUE 스택이 비어있지 않으면 ')'의 갯수보다 '('의 갯수가 많은 것이므로 FALSE import java.util.Stack; class Solution { static Stack stack = new Stack(); boolean solution(String s) { char[] carr = s.toCharArray(); int carrLen = carr.length; for (int i = 0..
저의 DFS로 풀려는 아이디어로는 시간 초과와 1000 이상의 값에서는 절대 돌아가지 않을 것 같다는 판단에 다른 분들의 아이디어를 보고 이해한 후에 배껴서 풀었습니다. 아이디어 잘 생각 하시는 분들 보면 정말 부럽... 하지만 재능이 나무에서 뚝 떨어지신 분들도 많겠지만 저에게는 그러한 재능이 없기에.. 꾸준히 높이 뛰기해서 쟁취해야겠죠 잡설이 길었습니다. 조건 두 개를 주었습니다. 표의 가로나 세로 크기가 1일 경우 => 이 경우, 정사각형의 원리에 의해 1인 값이 하나라도 있으면 넓이는 1일 수 밖에 없습니다. 모두 0 이면 당연히 0을 출력하겠죠 가로 세로 모두 2 이상일 경우, 1,1에서 부터 시작한다. => 정사각형의 한변의 크기를 구하는 원리에 의해 출처: https://blog.sonim1..
위 문제는 자바 컬렉션인 Map을 활용하여 해결하였습니다. 옷의 종류를 Key값으로, 각 옷들을 Key값의 List배열에 담아주었습니다. 아래는 코드입니다. import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; class Solution { HashMap clothMap; int result = 1; public int solution(String[][] clothes) { clothMap = new HashMap(); ArrayList clothList; for (int i = 0; i < clothes.length; i++) { // clothMap.putIfAbsent(clothes[i][0], new Arr..