java 22

[Java/Spring Boot] Java로 웹 크롤링 해보기 (Naver 날씨)

오늘은 Java로 웹 크롤링을 해보았다. 보통 웹 크롤링은 Python의 Beautiful Soup 라이브러리를 사용해서 많이 하는데, 그 이유는 웹 크롤링에 대한 가장 쉬운 접근 방법 중 하나이기 때문이다. 물론 다른 프로그래밍 언어들로도 웹 크롤링을 할 수 있다. 나는 예전부터 Java로 웹 크롤링을 해보고 싶었기 때문에 Java로 해보았다. Java로 웹 크롤링을 하기 위해서는 Jsoup 라이브러리를 이용해야 한다. Jsoup이란? Jsoup은 HTML 파싱 Java 라이브러리이다. DOM, CSS 및 JQuery와 같은 방법을 사용하여 데이터를 추출하고 조작하는 API를 제공한다. 주로 정적인 웹 페이지를 파싱 하고자 하는 경우, 간단하게 HTML을 가져와 파싱을 할 수 있는 라이브러리이다. 먼저..

Java 2023.02.22

[백준] 9461번 : 파도반 수열 (JAVA)

동적 계획법 관련 문제인 9461번 : 파도반 수열 문제를 풀었다. 동적 계획법에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/23 [알고리즘] 동적 계획법 (Dynamic Programming) ❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하 lucy1215.tistory.com 바로 이전, 동적 계획법 관련 문제는 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/27 [백준] 1904번 : 01타일 (JAVA) 동적 계획법(DP)을 공부한 뒤, DP관..

백준 2023.01.27

[백준] 1904번 : 01타일 (JAVA)

동적 계획법(DP)을 공부한 뒤, DP관련 문제인 1904번 : 신나는 함수 실행을 풀었다. 동적 계획법에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/23 [알고리즘] 동적 계획법 (Dynamic Programming) ❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하 lucy1215.tistory.com 바로 이전, 동적 계획법 관련 문제는 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/25 [백준] 9184번 : 신나는 함수 실행 (JAVA) 동적 ..

백준 2023.01.18

[백준] 9184번 : 신나는 함수 실행 (JAVA)

동적 계획법(DP)을 공부한 뒤, DP관련 문제인 9184번 : 신나는 함수 실행을 풀었다. 동적 계획법에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/23 [알고리즘] 동적 계획법 (Dynamic Programming) ❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하 lucy1215.tistory.com 동적계획법(DP)을 이용하여 a,b,c가 주어질 때, 재귀함수 w(a,b,c)를 출력해라. 문제에 코드 식이 많아 복잡해 보이지만 어렵지 않은 문제였다. 그냥 문제의 코드 식을 그대로 사용..

백준 2023.01.12

[자료구조] int 와 Integer 의 차이점?

백준에서 문제를 풀다가 궁금증이 생겼다. 정수형 배열을 선언할 때, 보통 아래 방식으로 선언했다. int arr[] = new int[10]; 하지만 문제를 제출하니 런타임에러가 떴고 찾아보니 Integer arr[] = new Integer[10]; 위와 같이 선언을 해야한다는 것이었다... 약 4년 동안 int와 Integer를 항상 사용했지만 이 2개의 차이점을 알지 못하고 있었다는 것이 충격이었다. 그래서 이 포스팅을 적게 되었다.... 1. int 란? (Primitive Type) int는 변수의 타입 (data type)이다. 변수(variable)는 '값을 저장할 수 있는 메모리 상의 공간'을 의미한다. int a = 3; char firstName = 'H'; 위에서 a 와 firstNa..

자료구조 2023.01.09

[알고리즘] 동적 계획법 (Dynamic Programming)

❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하나의 문제해결 패러다임으로 볼 수 있다. 큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용한다. 👉DP를 쓰는 이유 사실 일반적인 재귀(Naive Recursion) 방식 또한 DP와 매우 유사하다. 큰 차이점은 일반적인 재귀를 단순히 사용 시 동일한 작은 문제들이 여러 번 반복되어 비효율적인 계산이 될 수 있다는 것이다. 예를 들어 피보나치 수열을 살펴보자. 피보나치 수열은 아래와 같다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141 ... 피보나치 수를 구하고 싶을 때 재귀로..

알고리즘 2023.01.09

[백준] 1874번 : 스택 수열 (JAVA)

드디어 스택 마지막 문제인 1874번 : 스택 수열을 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 4949번 : 균형잡힌 세상 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/21 [백준] 4949번 : 균형잡힌 세상 (JAVA) 점점..

백준 2023.01.09

[백준] 4949번 : 균형잡힌 세상 (JAVA)

점점 스택 관련 문제 막바지에 다다른다. 4번째 문제인 4949번 : 균형잡힌 세상 을 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 9012번 : 괄호 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/20 [백준] 9012번 : 괄호 ..

백준 2023.01.09

[백준] 9012번 : 괄호 (JAVA)

스택 관련 5문제 중 벌써 3번째 문제인 9012번 : 괄호 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 10773번 : 제로 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/19 [백준] 10773번 : 제로 (JAVA) 10..

백준 2023.01.09

[백준] 10773번 : 제로 (JAVA)

10828번 : 스택에 이어서 다음 스택 관련 문제인 10773번 : 제로 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 10828번 : 스택 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/18 [백준] 10828번 : 스택 (..

백준 2023.01.09