2025/02

알고리즘 및 자료구조/알고리즘

[Java] 백준 2581 소수 풀이

문제 풀이 및 코드1. M ~ N 까지의 수 반복하여 약수 구하기2. 약수일 경우 sum, min 값 구하기* 소수는 본인과 1을 제외한 숫자로만 나누어지는 수이다.  이 문제가 어려울 경우 1978 소수찾기 문제 먼저 풀어보는 것을 추천. package AlgorithmStudy.src.bronze;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B2581 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Input..

알고리즘 및 자료구조/알고리즘

[Java] 백준 2292 벌집 풀이

문제   풀이벌집 한 바퀴를 층 하나라고 가정할 때, 층이 하나씩 높아질 때마다 층에 속하는 방의 개수가 6씩 늘어나는 것을 알 수 있다. 이를 기반으로, 층이 높아질수록 방의 개수를 더해주고, 들어가는 방의 개수를 제외하면 된다.  코드package AlgorithmStudy.src.bronze;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B2292_2 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Input..

DataBase

(conn=784196) Lock wait timeout exceeded; try restarting transaction 해결방법

Lock wait timeout exceeded 오류가 계속 발생했다. 이전의 경험으로 해당 오류는 한 스크립트에서 커밋을 하지 않고 다른 스크립트에서 작업 시 발생했었다.  그런데 이번에는 그런 것도 아니었다. 그래서 다른 작업자에게 DB 데이터 수정하고 있는지 확인했는데, 아니라고 했다.  에러 해결하기아래 쿼리문으로 현재 lock 이 걸린 테이블이 뭔지 조회해봤다. 그런데 아무것도 나타나지 않았다. 서치 후 확인해보니, 실제 문제가 발생한 프로그램을 실행중일 때 아래 쿼리문으로 조회가 가능한 것이었다. SELECT * FROM information_schema.INNODB_LOCK_WAITSSELECT * FROM information_schema.innodb_locks;  INNODB_LOCK_W..

알고리즘 및 자료구조/알고리즘

[Java] 백준 9506 약수들의 합 풀이

문제   해설1. 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. (백준 2506 문제 참조)2. 약수를 구하여 저장한다.3. 저장한 약수를 더하여 입력받은 값과 일치하면 출력한다.  풀이입력받은 약수를 출력할 때만 고민하면 되는 어렵지 않은 문제이다. 1. 숫자를 계속 입력받는다.2. -1을 입력받으면 반복문을 빠져나온다 / 링크 : break 문 설명3. 약수를 구한다.4. 입력받은 약수를 출력한다. package AlgorithmStudy.src.bronze;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B950..

알고리즘 및 자료구조/알고리즘

백준 알고리즘 문제 풀기, 반례 찾는 방법

아래 사이트에서 약 400개의 문제에 대해 반례를 찾을 수 있다.https://testcase.ac/ Testcase AC총 385개의 백준 문제에 대해 반례를 찾을 수 있습니다. 찾고 있는 문제가 없나요?testcase.ac  백준에 제출하는 코드처럼 package 를 지우고, Main 으로 이름을 변경해주면 된다.     반례 찾기를 클릭하면 반례가 있을 경우 아래와 같이 반례를 찾아준다.    반례가 없을 경우 아래와 같이 나타난다.

Language/JavaScript

[JavaScript] 자바스크립트 파일 확장자 이미지 체크 (javascript file type image)

자바스크립트에서 파일이 이미지 일때만 등록이 가능하도록 구현을 해보자. 리액트라 구조가 아래와 같은데, 자바스크립트 함수로 작성해도 구현되는 구조이다. 파일의 타입은 'image/png' 이러한 방식으로 나타난다. 뒤의 모든 타입을 등록하는 것보다 Image 만 잘라오는 것이 나을 것 같아 들어오는 파일의 확장자는 substring 해줬다. fileTypes 변수에 image 를 등록하여 비교해줬다. 이렇게 구현하면, 나중에 타입 추가하는 것도 쉬울 것 같다. 파일명의 . 뒷자리부터 가져와도 되지만, 나는 파일 타입을 가져오는 것으로 구현했다.  const fileTypes = [ 'image' ] const handleFileChange = (event) => { ..

Language/Java

[Java] 반복문 제어하기 (break, continue)

breakbreak문은 자신이 포함된 가장 가까운 반복문을 벗어난다. 주로 if 문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다.   continue반복이 진행되는 도중에 continue 문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. For 문의 경우 증감식으로, while문과 do - while 문의 경우 조건식으로 이동한다.   break 과 continue 의 차이continue 문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break 문과 차이가 있다. public class BreakContinueExample { public static void main(String[] args) { System.out.println("..

도구 및 기타/Mac 개발환경

맥북 Anaconda 설치 방법 (MacOs Intel)

1. 아나콘다 사이트에 들어가서 Free Download 를 클릭한다. (우측 상단)https://www.anaconda.com/ Anaconda | Built to Advance Open Source AIAnaconda simplifies, safeguards, and accelerates open-source AI with a trusted platform, enabling secure scaling, real-time insights, and community collaboration.www.anaconda.com    2. 메일 주소를 입력하고, 메일을 받아 Download Now 를 클릭한다.   3. 그럼 아래와 같은 사이트로 이동하는데, Download for Mac 을 클릭한다. 이때, I..

알고리즘 및 자료구조/자료구조

자료구조와 알고리즘, 관계

자료구조데이터를 정리하고 저장하는 방법이다. 데이터를 잘 정리해 놓으면 나중에 빠르게 찾아볼 수 있다. 개발자가 데이터를 효율적으로 저장하기 위한 것. 알고리즘어떤 문제를 해결하기 위한 단계적 절차이다. 문제를 풀기 위한 명확한 방법 제시 ex) 쇼핑 리스트를 작성할 때, 자주 사는 물건부터 쓰거나, 마트에서 이동하는 순서대로 정리하면 시간이 절약된다. 이와 같이 정보를 정리하고 처리하는 방식이 자료구조와 알고리즘이다.  자료구조와 알고리즘의 관계서로 상호작용하며 서로를 보완한다.자료구조 : 데이터 저장 및 조직화를 담당알고리즘 : 데이터를 처리하고 조작하는 로직 담당ex) 자료구조는 요리 재료, 알고리즘은 요리 레시피

알고리즘 및 자료구조/알고리즘

[Java] 백준 2869 달팽이는 올라가고 싶다 풀이

문제 이 문제의 핵심은 '수학' 문제라는 것이다.처음에 while (반복문) 을 사용하였는데, 시간 초과가 발생했다. 시간 제한을 확인하면 0.25초이다.즉, 수학 공식을 작성하여 풀어야 한다는 의미이다. 힌트1. 달팽이는 정상에 오르면 미끄러지지 않는다. > 마지막 날에 올라갈 수 있는 만큼을 제외한 최소 높이를 구한다.2. 최소 높이까지 도달하기 위한 값을 계산한다.   코드위 두가지 사항을 고려하면 아래와 같이 코드를 작성할 수 있다.package AlgorithmStudy.src.bronze;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTok..

Lar
'2025/02 글 목록