Algorithm Solution(15)
-
[LeetCode] 739. Daily Temperatures
[목차] 1. 문제 설명 2. 풀이 설명 3. 문제 풀이 source 3.1 python 3.2 java 1. 문제 설명 문제를 조금 설명하자면 날씨 온도의 정보가 들어온다. temperatures 배열이고 저 온도배열에서 첫번째부터 날짜이다. 즉 첫번째 날에는 73도라고 이해하면 된다. 기준이 되는 날짜부터 온도가 올라가는 날이 며칠인지 구하는 문제이다. 예를 들면 [30,40,20,50] 이라는 배열이 있으면 첫째날 30도의 기준으로 보면 다음날이 40도라서 1일만 기다리면 온도상승이 된다. 따라서 output=[1,0,0,0]이 기록될 것이다. 두번째 40도인 둘쨋날을 기준으로 보면 다음날 온도가 20도라서 낮아서 무시하고 그 다음날인 넷째날 50도라서 40도보다 높기 때문에 둘째날부터 넷째날에 온..
2024.03.14 -
[LeetCode] 20. valid Parentheses 문제풀이
[목차] 1. 문제 설명 2. 문제 생각 2.1 풀이 설명 2.2 성공케이스 설명(예제1) 2.3 실패케이스 설명(예제3) 3. 문제 풀이 3.1 Python 3.2 Java 1. 문제 설명 이 문제는 괄호({}, (), []) 를 입력받아서 괄호가 열고 닫는 것을 잘 매칭이 되는냐를 확인하는 문제이다. 2. 풀이 생각 2.1 풀이 설명 이 문제는 자료 구조 Stack을 이용하는 아주 유명한 문제이다. Stack을 이용한다는 생각을 못했을 때에는 진짜 엄청 머리 아프게 풀었다.. 다양한 경우의 수가 있어서.. for문과 if문을 얼마나 썼던지.. 하지만 Stack을 이용하면 진짜 코드도 간단하고 생각도 간단하게 풀수 있다. 아래 예를 들면 괄호 입력을 성공 케이스와 실패케이스로 설명해보겠다. 1) 괄호 ..
2024.03.10 -
Two Sum - LeetCode
[목차] 1. 문제 2. 문제 설명 3. 문제 풀이 4. code 5. 배운점 1. 문제 Two Sum - LeetCode 2. 문제설명 예제 2를 보자 [3, 2, 4] , target = 6 output = [1, 2] 저 집합에서 더해가지고 6이 나오는 원소를 구하는 문제이다. 저기 보면 output(정답)은 1, 2이다. 즉 1번째인 2와 2번째인 4를 더해서 6이 나온다. (여기서 1번째=2 인것을 이해 못하신 분은 컴퓨터에서는 첫번째가 0으로 시작한다.즉 0번째 3, 1번째 2, 2번째 4 이다. ) 3. 문제풀이 3.1 첫번째 풀이 (Brute Force 방식) example2 [3, 2, 4] , target = 6 output = [1, 2] 위에 그림처럼 하나의 원소가 기준이 되고 오른..
2024.01.25 -
백준 9095번 1,2,3 더하기
문제 1,2,3 더하기 일단 DP문제라서 DP로 푸려고 노력을 하였다.그렇지만 아직 나에겐 역부족이었다 ㅠㅠㅠ 그래서 다른 블로그를 참고해서 답안을 생각했다. 일단 간단하게 이야기 하자면 1,2,3으로 이루어진 숫자 N의 경우의 수를 보면 f(N) = f(N-3) +f(N-2)+f(N-1)을 하면 구할 수 있다. ( ※f(N) = 숫자 N의 경우의 수이다. )예를 들면 숫자 N=4 라고 한다면 f(4) = f(1)+f(2)+f(3)즉 1,2,3의 경우의 수를 더하면 숫자 4의 경우의 수를 구할 수 있다. 만약 숫자 1,2로만 이루어져 있다면점화식은 f(N) = f(N-2)+f(N-1) 이렇게 될 것이다. 하지만 문제는 1,2,3으로 이루어져있어서 f(N) = f(N-3) +f(N-2)+f(N-1)점화식이..
2017.02.27 -
백준 1991번 트리순회
문제 설명 : 트리를 배열로 표현하였다. 근데 계속 런타임 에러가 나서 고생하였다. 문제는 배열의 크기였다. 트리의 높이(Level)가 N이면 최대 노드 갯수는 이다. 입력이 1 0) {//N만큼 입력 받기 StringTokenizer st = new StringTokenizer(br.readLine().trim()); char data = st.nextToken().charAt(0); for (int i = 1; i
2017.01.25