본문 바로가기

전체 글

(66)
[알고리즘 문제풀이] #1 K번째수[Python3] #1 K번째 수 문제: https://programmers.co.kr/learn/courses/30/lessons/42748?language=python3 1. 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 2. 나의 코드 def solution(array, commands): a..
ChatServer 분석 소스 import java.net.*; import java.io.*; import java.util.*; // 클라이언트-서버 프로그램 public class ChatServer { public static void main(String[] args) { try{ ServerSocket server = new ServerSocket(10001); //서버 소켓 인스턴스 생성! 소켓넘버를 파라미터로 받고 클라이언트의 접속을 확인해준다. System.out.println("접속을 기다립니다."); HashMap hm = new HashMap();//해시맵 생성! while(true){ Socket sock = server.accept(); // 클라이언트의 접속을 확인하고 동시에 소켓인스턴스를 생성한다. Cha..
ChatClient 분석 소스 import java.net.*; import java.io.*; public class ChatClient { public static void main(String[] args) { if(args.length != 2){ System.out.println("사용법 : java ChatClient id 접속할서버ip"); System.exit(1); //id와 ip를 적으면 배열 개수가 2가 되기 때문에 만약 2가 아니라면 잘못입력 된것이므로 프로그램을 종료한다. } Socket sock = null; BufferedReader br = null; PrintWriter pw = null; boolean endflag = false; try{ sock = new Socket(args[1], 10001);..
EchoThreadServer 분석 소스 import java.net.*; import java.io.*; public class EchoThreadServer { public static void main(String[] args) { try{ ServerSocket server = new ServerSocket(10001); System.out.println("접속을 기다립니다."); while(true){ Socket sock = server.accept(); EchoThread echothread = new EchoThread(sock); echothread.start(); } // while }catch(Exception e){ System.out.println(e); } } // main } class EchoThread extend..
EchoServer 분석소스 import java.net.*; import java.io.*; public class EchoServer { public static void main(String[] args) { try{ ServerSocket server = new ServerSocket(10001); // 10001 소켓 넘버를 가진 서버소켓 인스턴스 생성 System.out.println("접속을 기다립니다."); Socket sock = server.accept(); // 클라인언트의 접속을 기다린다. InetAddress inetaddr = sock.getInetAddress(); //클라이언트의 ip주소를 가져온다. System.out.println(inetaddr.getHostAddress() + " 가 접속했습니다...
EchoClient 분석소스 import java.net.*; import java.io.*; public class EchoClient{ public static void main(String[] args) { try{ Socket sock = new Socket("127.0.0.1", 10001);// 클라이언트 소켓 인스텀스 생성. ip주소와 소켓 넘버를 입력한다. BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));// 콘솔상에서 사용자가 입력한 데이터를 읽어들이는 스트림 생성! OutputStream out = sock.getOutputStream();//서버로 데이터를 보내는 출력 스트림 생성! InputStream in = sock..
Chat 서비스 분석 - Chat 서비스는 말 그대로 채팅 서비스를 의미한다. - 수많은 SNS에서 쓰이는 chat서비스가 어떤 원리로 구동되는지 알아본다. 1. ChatClient - 채팅서비스를 사용하게 되는 유저들이 쓰는 프로그램이다.- 에코 서비스의 클라이언트 프로그램과는 다르게 ChatClient는 쓰레드를 가지고 있다. - ChatClient의 쓰레드는 유저가 문자열을 입력하는 동시에, 상대방이 보낸 문자를 읽을 수 있게 한다.- 메소드 변수를 사용하여 프로그램 시작과 동시에 자신의 id와 ip주소를 입력한다. 1) System.out.println("사용법 : java ChatClient id 접속할서버ip"); System.exit(1); //id와 ip를 적으면 배열 개수가 2가 되기 때문에 만약 2가 아니라..
에코 서비스 분석 1. EchoClient - EchoClient는 자신이 보낸 데이터를 다시 자신이 받는 프로그램. - 가장 기초적인 서버 프로그래밍을 보여준다.- 에코서비스는 사용자가 입력한 문자를 서버가 받아 그대로 사용자에게 돌려주는 기본적인 프로그램이다.- EchoClient 프로그램은 사용자로 부터 입력 받은 문자열을 서버로 보낸다. - 서버가 보낸 문자열을 화면 상에 출력해준다. 1) Socket sock = new Socket("127.0.0.1", 10001); // 클라이언트 소켓 인스텀스 생성. ip 주소와 소켓 넘버를 입력한다.2) BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));// 콘솔상에서 사용자가 입력..