출처 : https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 🔍 Solve 해당 문제와 패키지인 골드5 2636 치즈와 같이 풀어보면 좋은 문제입니다. 2636 치즈문제는 아래 포스팅을 참고하시면 좋을 것 같습니다! 2022.03.30 - [알고리즘/백준] - [BOJ] 백준 2636 치즈 (JAVA) [BOJ] 백준 2636 치즈 (JAVA) 출처 : https://www.acmicpc.net/problem/2636 2636번: 치즈..
❓ Lombok Java를 사용해 개발을 하다 보면 데이터 이동에 사용되는 DTO를 만들어 사용하게 됩니다. 이때 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리가 있습니다. 이런 다이어트 라이브러리가 바로 Lombok(롬복)입니다! 매번 리팩토링을 하거나 때에 따라 생성자를 여러 개 만들어주어야 할 때가 있습니다. 이때 Lombok을 사용하면 어노테이션으로 쉽고 간단하게 DTO를 만들 수 있습니다. ❗ Lombok의 어노테이션 Lombok은 어노테이션 선언을 통해 필요한 코드를 생성할 수 있습니다. 어노테이션 기능 @ToString 모든 필드를 출력하는 toString()메서드 생성 및 재정의 @EqualsAndHashCode ha..
출처 : https://www.acmicpc.net/problem/6987 6987번: 월드컵 월드컵 조별 최종 예선에서는 6개국으로 구성된 각 조별로 동일한 조에 소속된 국가들과 한 번씩, 각 국가별로 총 5번의 경기를 치른다. 조별리그가 끝난 후, 기자가 보내온 각 나라의 승, 무승부 www.acmicpc.net 🔍 Solve 아주 예전에 단순히 승, 무, 패 숫자로만 비교해서 문제를 풀었을 때 실패했던 문제였는데, 그동안 재귀 부분 문제를 많이 풀어보고 다시 풀어보니 어렵지 않게 해결할 수 있었습니다. 해당 문제는 예제로 나와있는 그림과 테스트 케이스의 배열 형태가 같지 않아서 매번 입력을 받을 때마다 주춤하게 되는 것 같습니다. 하지만 손으로 매칭 결과를 그려보면 어렵지 않게 새로운 배열을 만들 ..
출처 : https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 🔍 Solve 알고리즘 분류를 보면 투 포인터로 푸는 것 같은데 문제를 풀고 난 뒤 투 포인터를 공부한 터라,, HashMap을 사용한 완전 탐색 방법으로 풀었습니다. 투 포인터와 관련해서 공부한 뒤, 비슷한 문제인 백준 1806 부분합 문제를 풀었는데, 관련 포스팅은 곧 올리겠습니다! 저는 입력받은 숫자를 저장하는 numbers배열과 numbers의 숫자를 키로 가지는 HashMap을 사용하였습니다. HashMap..
❓ 세션? 쿠키? 보통 웹 페이지에서는 클라이언트가 서버에 요청을 하면, 서버는 요청에 대한 처리를 한 후 다시 클라이언트에게 응답합니다. 이때 지속적인 연결로 발생하는 자원낭비를 줄이기 위해 클라이언트에서 서버에 요청을 한 뒤 자동으로 연결을 해제하고, 서버에서 다시 클라이언트에게 응답을 한 뒤에도 자동으로 연결을 해제합니다. 하지만 로그인 정보 등과 같이 클라이언트와 서버가 연결 상태를 유지해야 하는 경우에는 문제가 발생합니다. 이와 같이 클라이언트 단위로 상태의 정보를 유지해야 하는 경우 Session과 Cookie를 사용합니다. 먼저 세션에 대해 알아보겠습니다. 🔍세션 (Session) - 서버에 저장! 방문자가 웹서버에 접속해 있는 상태를 하나의 단위라고 하고, 세션이라고 표현합니다. 세션은 W..