no image
[프로그래머스] 공원 산책
🔗 공원 산책 로봇 강아지가 공원 내 이동한 최종 위치를 계산하는 문제이다. 🥊 접근 방법 🥊단순 구현 문제이다. 주의할 점은 이동 조건이 맞지 않을 경우, 시작위치인 S로 이동하는 것이 아니라 바로 전 위치로 되돌아가야 한다. 이거때매 30점 맞고 한참을 고민했다 ㅜ ✨ 방법 1 ✨ (2024-07-08)0. 준비currPos : x, y의 현재좌표를 담을 Point 객체 타입의 변수originX : 이동하기 전의 X 좌표originY : 이동하기 전의 Y 좌표cnt : 이동 횟수를 체크하기 위한 변수x, y 좌표는 계속 사용되기 때문에 객체로 생성했다.static Point currPos;static int originX;static int originY;static int cnt;static ..
2024.06.16
no image
[프로그래머스] 타겟 넘버
🔗 타겟 넘버 주어진 숫자 배열에서 각 숫자를 더하거나 빼서 특정 타겟 숫자를 만들 수 있는 모든 경우의 수를 찾는 문제로, 가능한 모든 조합을 탐색하기 때문에 완전탐색이다. 🥊 접근 방법 🥊numbers 값을 계속 더하다가 target 값이 안 나오면 빠꾸해서 값을 빼주면 되겠다고 생각했다. 비슷한 문제를 풀어본 적이 있어서 바로 DFS를 떠올렸다. DFSDFS를 사용해 각 숫자에 더하기(+), 빼기(-) 두 가지 경우 모두를 탐색한다.// basis partif(i == numbers.length){ if(total == target) answer++; return;} // inductive partDFS(numbers, target, i+1, total + numbers..
2024.06.09
no image
[JAVA | 백준] #2292 벌집 🐝🏠
📍 벌집https://www.acmicpc.net/problem/2292   ✨ 방법1 ✨ 문제의 그림을 방별로 표시해보았더니 규칙이 보였다.  i >= 2 일 경우, 이러한 점화식이 나온다. 근데 dp 아니고 그리디였다.아무튼 dp의 크기를 N의 최대 크기인 10억으로 할 경우 메모리 초과가 난다.따라서 N이 10억일 때 결과값인 18258에 1을 더해 18259로 초기화했다.   ✨ 전체코드 ✨import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { ..
2024.06.08
no image
BaseTime 사용했는데 createdAt에 널값 들어감
package com.ssafy.piece.global.entity;import jakarta.persistence.Column;import jakarta.persistence.EntityListeners;import jakarta.persistence.MappedSuperclass;import lombok.Getter;import org.springframework.data.annotation.CreatedDate;import org.springframework.data.annotation.LastModifiedDate;import org.springframework.data.jpa.domain.support.AuditingEntityListener;import java.time.LocalDateTim..
2024.05.27
no image
CSRF & XSS
CSRFCross Site Request Forgery attack : 크로스 사이트 요청 위조 공격사용자가 자신의 의지와는 무관하게 침입자가 의도한 행위를 서버에 요청하게 만드는 공격이다.인증된 사용자가 웹 애플리케이션에 특정 요청을 보내도록 유도하는 공격 행위생성된 요청이 사용자의 동의를 받았는지 확인할 수 없는 웹 애플리케이션의 CSRF 취약점을 이용공격자의 요청이 사용자의 요청인 것처럼 속이는 공격 방식사용자가 인증한 세션에서 웹 애플리케이션이 정상적인 요청과 비정상적인 요청을 구분하지 못하는 점을 악용웹 애플리케이션이 사용자의 요청이 실제 사용자가 전송한 것인지 확인하지 않는 경우 발생더보기1. 침입자는 서버로 넘어가는 자금 전송에 대한 요청을 조작하려고 한다.2. 침입자는 하이퍼링크에 자금 전..
2024.05.27
no image
[프로그래머스] 추억 점수
🔗 추억 점수사진 속 인물들의 이름과 그리움 점수를 기반으로 각 사진의 추억 점수를 계산하는 문제이다. photo에 name이 있으면 해당하는 점수(yearning)를 더하면 된다. 🥊 접근 방법 🥊보자마자 HashMap의 contains 메서드가 떠올랐다. 시간복잡도는 O(1)이다. 1. HashMapname과 yearning을 형태로 담기 위해 HashMap를 사용해 각 인물의 이름과 그 인물의 그리움 점수를 매핑한다.HashMap hash = new HashMap(); 2. 추억 점수 계산photo 배열을 순회하면서 각 사진에 대해 해당 사진에 등장하는 인물들의 그리움 점수를 합산한다. 이때, 사진 속 인물의 이름이 해시맵에 존재하는 경우에만 그리움 점수를 더한다.// photo 배열 순회f..
2024.05.24
no image
[프로그래머스] 달리기 경주
🔗 달리기 경주 선수들의 최종 순서를 계산하는 문제이다. 🥊 접근 방법 🥊player의 최대 길이가 5만, callings의 최대 길이가 100만이다. 단순히 players의 순서를 스왑하면 시간초과가 날 것이므로 ✅ HashMap을 떠올렸다. 참고로 HashMap을 사용하면 시간복잡도가 O(n^2) -> O(1)이 된다. 1. HashMapHashMap 를 사용해 각 선수의 이름과 그 선수의 현재 등수를 매핑한다. 인 이유는 Key에 따라 Value를 바꿔주기 위함이다.HashMap hash = new HashMap(); 2. 등수 업데이트callings 배열을 순회하면서, 부른 선수의 현재 등수를 확인하고, 그 선수와 바로 앞에 있는 선수의 등수를 바꾼다. 이때 HashMap을 사용해 각 선..
2024.05.23
mysql 접속 안 됨
[MySQL] root 비밀번호 잊어버렸을 때 해결 (mysql root reset / password reset)업무용 pc에 이전 사람이 설치한 mysql을 그대로 쓰다가 root 권한이 필요한데 몰라서 초기화하기로 했다. 그냥 다 지우고 새로 깔아도 되긴 하지만 초기화하기로 했다. 삽질 기록을 노션에 기록해datamoney.tistory.com   MySQL WorkBench setup new Connection Error 해결mysql과 스프링 프레임워크를 사용해서 간단한 블로그를 만들어 보려고 한다. 그런데 문제가 발생했다 setup new connection으로 새로운 유저를 생성하려고 했는데 Test connection을 하는데 연결이 안되고mrnoobiest.tistory.com
2024.05.01
no image
[프로그래머스] DAY 3. 문자열 섞기 | 문자 리스트를 문자열로 변환하기 | 문자열 곱하기 | 더 크게 합치기 | 두 수의 연산값 비교하기
🔗 문자열 섞기✨ 전체코드 ✨class Solution { public String solution(String str1, String str2) { String answer = ""; for(int i=0; i 🌀 성능메모리 : 77.5 MB시간 : 9.24 ms   🔗 문자 리스트를 문자열로 변환하기🌟 방법1 : 반복문 🌟class Solution { public String solution(String[] arr) { String answer = ""; for(int i=0; i 🌀 성능메모리 : 76.6 MB시간 : 1.39 ms ✨ 방법2 : join 메서드 ✨✅ join 지린다class Solution { public..
2024.04.28