본문 바로가기

분류 전체보기

(274)
[백준 1026번 문제, JAVA] 보물 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import..
[JAVA 자바] 숫자 자릿수 구하는 코드 방법 2가지 n번째 숫자 구하기 자릿수 구하기 "자릿수"는 어떤 숫자의 n번째에 위치한 숫자를 말한다 1의 자리, 10의 자리 이런걸 말한다 예를들어 숫자의 가장 오른쪽에 위치한 숫자를 1번째 자수라고 하자 숫자 "54321"의 숫자에서 가장 오른쪽에 위치한 숫자는 1이다 그러면 위 숫자에서 1번째 숫자는 1이라고 하는 자리수를 가진것이다 자릿수를 어디부터 할지는 인터넷에서 찾아보니 사람마다 각각인 것 같다 아래에서는 가장 일반적인 방법으로 가장 오른쪽에 위치한 숫자를 1번째 자리수라고 할거다 프로그래밍 언어에서 숫자의 자리수를 구하는 방법에는 언어마다 차이가 있을거다 파이썬은 배열의 값을 구하는 방법으로 num[n]만 해도 바로 구해지지만 그렇지 못한 언어를 사용할때는 어떻게 해야하는가 아래에서는 자바 코드에서 숫자의 n번째 자릿수를..
자바 TCP/IP 소켓 통신 서버, 클라이언트 만들기 코드 일이 있어서 자바 TCP/IP 소켓 통신 방식에 대해 잠시 공부를 했다 전에 파이썬 플라스크로 HTTP 서버를 제작했었는데 이번에는 자바의 'java.net' 패키지에서 제공하는 Socket 클래스를 이용해서 만드는 통신 서버를 만들어봤다 몇 달전에 네트워크관리사 2급 공부를 하면서 TCP랑 UDP의 차이 그리고 동기, 비동기 방식의 차이를 달달 외우기 까지 했었는데 이제와서 기억나지 않는걸 보니 내가 치매거나 제대로 공부하지 않았거나겠네 그래도 네트워크관리사2급 필기는 합격했다 ㅎㅎ Java에서 소켓 통신은 클라이언트와 서버 간의 네트워크 통신을 가능하게 하는 API입니다. Java에서 소켓 통신은 java.net 패키지에서 제공됩니다. 소켓 통신은 일반적으로 클라이언트와 서버 사이의 양방향 통신을 지..
[백준 1027번 문제, JAVA] 고층 건물 문제 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)은 (i,0)부터 (i,높이)의 선분으로 나타낼 수 있다. 고층 빌딩 A에서 다른 고층 빌딩 B가 볼 수 있는 빌딩이 되려면, 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 가장 많은 고층 빌딩이 보이는 빌딩을 구하고, 거기서 보이는 빌딩의 수를 출력하는 프로그램을 작성하시오. 입력: 첫째 줄에 빌딩의 수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에 1번 빌딩부터 그 높이가 주어진다. 높이는 1,000,000,000보다 작거나 같은 자연수이다. ..
[자바 JAVA] Server Socket 소켓 통신 한글 깨짐 해결 BufferedReader, InputStreamReader, PrintWriter, OutputStreamWriter.... JDK한글깨짐, 자바한글깨짐 보통 자바 소켓 통신에서 한글이 깨져서 출력될 때는 코드에 인코딩이 제대로 안되어 있으면 한글이 깨질 가능성이 높다고 한다. 그래서 서버와 클라이언트 모두 UTF-8 인코딩 설정을 해줘야하지만... BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); // 클라이언트와 연결된 Socket 객체에서 OutputStream을 얻어옴 OutputStream out = clientSocket.getOutputStream(); // PrintWriter 객체를 사용하여 클라이언트로 메시지를 전송함 PrintWriter writer = new PrintWriter(new OutputS..
[백준 1003번 문제, JAVA] 피보나치 함수 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[][] lists = new int[41][2]; lists[0] = new int[]{1, 0}; lists[1] = new int[]{0, 1}; for(int i=2; i
[백준 1038번 문제, JAVA] 제곱 ㄴㄴ 수 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); long min = Long.parseLong(input[0]); long max = Long.parseLong(input[1]); boolean[] eratosthenes = new..
[백준 1085번 문제, JAVA] 직사각형에서 탈출 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); int x = Integer.parseInt..