분류 전체보기 92

백준_11653 - JAVA

- 알고리즘 . 주어진 수를 가장 갖은 소수인 2로 더이상 나누어 떨어지지 않을 때 까지 나눈다 . 더이상 2로 나누어 떨어 지지 않을 경우 나누는 수를 하나 증가 시킨다. . 증가 시켜 만들어 낸 3으로 나누어 떨어지지 않을 때 까지 나눈다. . 이렇게 되면 3 다음 수인 4로는 3번째에서 도출한 수를 나눌 수 없기 때문에 넘길 수 있게 된다. (현재 주어진 수는 2로 나누어 지지 않는 수이기 때문) . 이런 식으로 구현하면 소인수 분해가 가능하다. - 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public ..

알고리즘/백준 2022.12.30

백준_2581 - JAVA

- 알고리즘 . 소수는 2부터 자기 자신 이전까지의 숫자(자신 - 1) 중 어떠한 수로도 나누어 지면 안된다. . 이 조건에 부합 하는 숫자를 구해 모두 더해 주어 소수 합을 구한다. . 이 값들 중 가장 작은 값을 최솟값으로 구한다. . M 부터 N 까지 반복하여 돌면서 모든 수를 2부터 현재 test 중인 수까지 나누어 보는 식으로 구현하면 된다. . 이때 소수가 존재 하지 않을 경우 "-1" 을 출력 하도록 설정 해 준다. -코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stri..

알고리즘/백준 2022.12.30

백준_2839 - JAVA

- 알고리즘 . 봉지의 수를 최소로 하려면 5kg 봉지를 최대한 활용 해야 한다. . 우선 3kg 봉지로 하나씩 빼 보면서 뺀 후의 결과가 5의 배수가 된 순간 나머지를 모두 5kg 봉지로 채우는 방식으로 해결이 가능 하다. . 이때 3kg 봉지로 아무리 빼 보아도 N 이 정확히 0 이 되지 않거나 5의배수로 나누어 떨어지는 값이 되지 않을때 가지고 있는 봉지로는 정확히 Nkg 을 만들 수 없다고 본다. - 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; ..

알고리즘/백준 2022.12.27

백준_2775 - JAVA

- 알고리즘 . 입력을 받을 때 마다 계산을 하게 되면 시간이 많이 걸리기 때문에 미리 모든 경우에 대한 값을 배열로 제작 한다. . 0층에 사는 사람은 1, 2, 3, ..., 14 처럼 거주자가 1씩 증가한다. . 1호에 사는 사람은 모두 한명이다.(1층1호, 2층1호, 3층1호, ...) . 그림과 같이 표시된 호실에 거주하는 사람의 수는 아래층 1호실 부터 같은 호실까지의 거주자 수의 합과 같다. . 조건에 맞게 배열을 생성후 문제를 해결 한다. - 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import..

알고리즘/백준 2022.12.27

백준_10250 - JAVA

- 알고리즘 . 사람들은 엘레베이터에서 가까운것을 선호 한다. . 엘레베이터에서 부터의 거리가 같다면 아래 층을 선호 한다. . 즉 위 문제의 그림에서 최대한 왼쪽 아래의 방을 제공 하여야 한다. . 따라서 손님을 받을 때 마다 왼쪽 아래에서 부터 위로 올라가며 제공 하고 1호실이 다 찼다면 2호실을 제공 하면 된다. (101 -> 201 -> 301 -> ..... -> 102 -> 202 -> 203 -> .....) . 기본적으로 층수는 (N % H)층이며 호실은 (N / H) 호실이다. . 하지만 (N % H == 0)일때는 입력받은 H 자체가 층이 되며 호실은 (N / H) 가 된다. . 층수는 3번째 자리부터 시작 하니 100을 곱해주면 된다. - 코드 import java.io.Buffere..

알고리즘/백준 2022.12.27

백준_2869 - JAVA

- 알고리즘 . 기본적으로는 (높이) / (올라가는 거리 - 내려가는 거리)로 계산 하면 올라가는데 걸리는 날짜가 나온다. . 이때 정확히 나누어 떨어지지 않는다면 하루를 더 더해 주어야 한다. . 또한 내려가기 전에 꼭대기에 도착을 한다면 내려가지 않기 때문에 이부분은 따로 계산 해야 한다. . 내려가는 거리는 올라가는 거리보다 클 수 없기 때문에 총 거리에서 내려가는 거리를 뺀 후 계산 하기만 하면 쉽게 해결 가능 하다. - 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Strin..

알고리즘/백준 2022.12.22

백준_1193 - JAVA

- 알고리즘 . 같은 우측 대각선 위에 있는 분수들은 분자와 분모의 합이 동일하다. . 홀수 번째(분자 + 분모가 짝수) 인 대각선은 아래에서 위로 이동한다. . 짝수 번째(분자 + 분모가 홀수) 인 대각선은 위에서 아래로 이동한다. . 각 대각선의 분수 개수는 1부터 하나씩 늘어나며 이는 해당 대각선이 몇번째인지와 동일하다 (3번째 대각선에는 분수가 3개 존재) . 이를 이용해 N 이 몇번째 대각선 위에 있으며 대각선 중에서 위에서 몇번째 인지 알아내면 해당 분수를 쉽게 도출 가능 - 코드 import java.io.*; public class B_1193 { public static void main(String[] args) throws Exception { BufferedReader br = ne..

알고리즘/백준 2022.12.22

백준_2292 - JAVA

- 알고리즘 거쳐야 하는 방의 개수는 다음과 같다. N 지나는 방의수 1 1 2~7 2 8~19 3 20~37 4 방이 6각형이기 때문에 지나는 방의 수가 변하는 방 번호의 시작점은 (2->8) 6증가, (8 -> 20) 12증가처럼 6의 배수 만큼씩 증가 한다. - 풀이 import java.io.*; public class B_2292 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s1 = br.readLine(); int N = Integer.parseInt(s1); int n = 1; int s..

알고리즘/백준 2022.12.22

웹프 정리

1. JSP페이지의 처리 과정 - 동적 웹페이지 지원 : 저장된 내용을 다른 변수로 가공처리 하여 보여주는 방식 - 페이지 처리 과정 1. 클라이언트가 웹 브라우저를 통해 웹 서버에 원하는 JSP페이지 요청 2. 서버에서 요청한 JSP 파일 탐색 3. 해당 JSP 파일을 JSP컨테이너를 통해 .java 파일로 번역 4. 번역된 .java 파일을 JSP컨테이너를 통해 컴파일하여 .class 파일 생성 5. .class 파일을 가공된 html 문서로서 웹 브라우저로 반환 - JSP컨테이너 . jsppirnt(), _jspService(), jspDestroy() 등의 메소드를 가진 JSP파일의 생명주기를 담당하는 프로그램으로 JSP파일을 java file 로 번역하고 java 파일을 컴파일 하는등의 역할을 ..

수업/웹프 2022.10.19

UBUNTU - ESP3D로 서버 연동 웹사이트 만들기(4. 백앤드 서버 구축)

- 지금까지 한것에서 네이버에 이미치를 요청 하는것만으로는 더이상 진행이 불가능 합니다. - 그 이유는 내 컴퓨터에 있는 index.html 파일을 브라우저로 연 다음 브라우저가 네이버에 이미지를 요청 하게 되면 브라우저가 연 index.html 의 위치와 이미지를 요청한 위치가 달라져서 "CORS" 위반이기 때문에 에러코드가 뜰것 입니다. - 이를 해결 하는 여러 방법중 저는 백앤드 서버를 이용하는 방법을 통해 해결 해 보겠습니다. - 백앤드 서버에 있는 index.html 을 내 컴퓨터에서 열고 네이버에 이미지를 요청하는 작업도 백앤드에서 수행 하게 되면 index.html 의 위치와 네이버에 요청해서 받아온 이미지의 위치도 같기 때문에 "CORS" 위반을 피할 수 있습니다. 1. 처음부터 개발 하는..

백앤드 2022.07.17