본문 바로가기

전체 글

(93)
[Programmers] LV2 - 소수 찾기 https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제 파악 주어진 숫자 문자열을 가지고 소수를 몇 개 만들 수 있는지 구하는 문제이다. 순열 + 소수 찾기 문제인 것인데 1. 소수 찾는 방법은 에라토스테네스의 체로 최대 범위 10,000,000까지의 소수를 미리 구했다. ( 10,000,000 까지 구한 이유 number의 최대길이는 7 , 범위는 0~9로만 이루어져 있기 때문에 최대 9,999..
[Programmers] LV2 - 가장 큰 정사각형 찾기 https://programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 알고리즘 분류 : Dynamic Programming 문제 파악 주어진 배열에서 1로만 이루어진 가장 큰 정사각형을 찾아서 그 정사각형의 넓이를 반환하면 되는 문제이다. 문제 해결 과정에서 처음은 Brute force 하게 풀어보았고 두 번째로 DP로 문제를 해결하였다. 1. Brute Force ( 정확성 All pass , 효율성 All fail) 더보기 class Solution { public int solution(int [][]board) {..
[Programmers] LV2 - 배달 https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 파악 문제의 그림에서 주어졌듯이, 그래프로써 문제를 풀어나가야 한다는 것을 유추할 수 있다. 또한, 문제를 읽다 보면 "각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다."라는 구문이 있다. 그래서 처음에는 "무방향 + 그래프" => 플로이드-와샬 알고리즘을 선..
[Spring] JPA - No Property Found for Type Exception JPA를 사용하여 개발 중에 "No property xxx found for type xxxx!" 라는 에러가 뜨면서 골머리를 썩혔다.. xxx는 각자 다를 수 있겠지만.. underscore(_)를 엔티티의 레퍼런스 필드의 프로퍼티를 조회하는 예약어로 사용하고 있기 때문에 사용을 피하라고 되어있어서 다음과 같이 변경하였다. 그다음에 Model에서 @Column Annotation을 사용하여 name을 지정해주고 기존 Property는 동일하게 Underscore를 제거하여 해결하였다. 참조사이트 : https://stackoverflow.com/questions/19583540/spring-data-jpa-no-property-found-for-type-exception
[Programmers] LV1 - 숫자 문자열과 영단어 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 문제 파악 주어진 문자열 s에서 영단어로 되어있는 숫자 문자열을 숫자로 바꿔서 정수 값을 반환하는 문제이다. 문제를 풀고 보니 대부분 다 비슷하게 푼 거 같은데 숫자 문자열 배열 하나와 숫자 배열 하나씩 선언하여 s를 replaceAll 하여 바꿔나간다. 더보기 class Solution { public int solution(String s) { i..
[Programmers] LV2 - 괄호 회전하기 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 문제 파악 주어진 문자열을 왼쪽으로 회전시켜 가면서 올바른 괄호 문자열이 만들어지는지 확인하는 것 회전하면서 몇 개의 올바른 괄호 문자열이 만들어지는지 반환 해주면 된다. 더보기 import java.util.*; class Solution { public int solution(String s) { int answer = 0; //홀수면 올바른 괄호를 만들 수 없기 때문에 if(s.length()%2 == 1){ return answer; } for(int idx = 0; idx
[BOJ] 1865번 : 웜홀 https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 알고리즘 분류 그래프 이론 벨만-포드 문제 파악 위의 캡처에서 알 수 있듯이 "시간이 뒤로 가게 된다"라는 문구로 유추해보면 음수 가중치가 존재한다는 것을 알 수 있고 벨만-포드 알고리즘을 활용하여 문제를 풀어야겠다고 접근했다. 추가로 다익스트라, 벨만-포드 알고리즘 중에서 왜 벨만-포드를 선택해야 하는지 궁금했는데 아래 링크에 잘 설명이 되어있어 참조 링크를 달아놓는다. https:..
[MySQL] Error Code : 1452 foreign key error #1452 개인 프로젝트 중 발생한 오류, 내용은 다음과 같았다. Cannot add or update a child row (a foreign key constraint fails) 외래 키(Foreign Key) 필드에 값을 삽입하거나 수정하려 할 때, 외래 키가 참조하는 주 키(Primary Key)에서 사용하는 값 이외의 값이 들어가면 이 에러를 반환한다. 이 때는 주 키에 속한 값으로 외래 키를 수정하거나 삽입해야 한다 User Table Board Table Id BIGINT(PK) Id BIGIN(PK) UserName NVARCHAR(100) User_Id BIGINT(FK) Content NVARCHAR(100) 나의 경우는 테이블 구성이 위처럼 되어있다면 User 테이블에 Id가 1인 데이터만 존..