본문 바로가기

프로그래밍

(99)
파이썬 학습 노트 기초 (1) 파이썬의 연산자 연산자 뜻 + 더하기 - 빼기 * 곱하기 / 나누기(소수점) ** 제곱 // 몫 % 나머지 () 괄호 안을 먼저 연산 파이썬의 변수 변수 이름 뒤 등호(=)로 값을 저장한다 C언어나 JAVA 처럼 자료형을 지정해주지 않는다 변수 이름은 대/소문자, 숫자, 밑줄로 사용 대소문자는 구분됨 파이썬의 변수 네이밍룰은 소문자로 _ 를 사용하여 구분하여 사용한다고 한다 출력 print(변수), print("hello") def print_hi(name): print("I like", end='') print(" money") if __name__ == '__main__': print_hi('PyCharm') 판단 파이썬의 참 값은 True, 거짓 없은 False ==, !=, , = 와 같은 비교 ..
자료구조와 알고리즘 학습 노트 기초 (1) 자료구조와 알고리즘 자료구조 데이터를 저장, 조직, 관리하는 방법 책들이 난잡하게 어질러져있음 -> 책을 카테고리에 맞게 분류 자료구조의 일상 생활과 프로그래밍 문제 해결과의 차이 건축물을 만들려면 : 건축 재료(철근, 시멘트, 벽돌)의 이해가 필요. 샤시, 철골, 인터넷 연결 구조 프로그래밍 : 데이터 구조와 모듈의 이해가 필요. 리스트, 스택, 트리 구조 즉 상황에 맞게 어떤 자료구조를 사용할지 판단해야함 자료구조의 종류 배열, 리스트, 스택, 큐, 그래프, 트리, 최대 힙, 행렬.... 선형 자료구조 :리스트, 스택, 큐 색인 자료구조 :검색트리(이진 검색트리, 균형 검색 트리), 해시 테이블 효율적인 자료구조 :우선순위 큐: 힙 관계 처리 자료구조 :그래프 알고리즘 문제 해결 과정을 묘사하는 것 문제 해결 절차를 체..
윤년 구하는 함수 static boolean isLeapYear(int year) { return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); } c/c++ 이면 boolean 대신에 int를 쓰면 됨
[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 패키지에서 제공됩니다. 소켓 통신은 일반적으로 클라이언트와 서버 사이의 양방향 통신을 지..
[자바 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..
[Java] 안드로이드 채팅 화면을 리사이클러뷰와 뷰바인딩을 이용해서 만들어보자 요즘 코틀린으로 앱을 많이 만든다곤 한다... 하지만 이미 프로젝트를 자바로 만든지 오래되었고 학교에서는 자바를 쓰기 때문에 자바 실력 향상을 위해서라도 계속 자바로 만들려고 하는데 새로운 기능을 적용하는 예제는 거의 코틀린으로 올라와서 자바로 어떻게 적용해야할지 생각하느라 시간이 많이 들었다.. 암튼 이번에는 인터넷의 안드로이드 채팅 기능이 필요해서 찾아보면서 내 앱에 적용을 했는데 리사이클러뷰와 뷰바인딩을 사용했다 덕분에 공부를 좀 많이 한거같다 채팅을 만들려면 내가 입력한 채팅이 있을것이고 상대방이 입력한 채팅이 있을것이다 채팅의 데이터를 보관할 채팅 클래스를 만들어야하고 이 채팅을 보여줄 리사이클러뷰와 그 어댑터가 있어야할것이다 하나의 리사이클러뷰에서 내가 입력한 채팅인지 상대방이 입력한 채팅인지..
Dodge : Avoid Balls 비주얼베이직 게임 만들기 공피하기 게임 https://youtu.be/eUM16l_P8xc 비주얼베이직 베이직 언어로 만든 공피하기 게임입니다 다운로드 https://www.dropbox.com/s/h553u35eumgdqnh/AvoidBalls-basic.zip?dl=0 AvoidBalls-basic.zip Dropbox를 통해 공유함 www.dropbox.com 플레이화면 소스코드 https://github.com/wndudwkd003/VB-Rhythm-Avoid-Balls.git GitHub - wndudwkd003/VB-Rhythm-Avoid-Balls Contribute to wndudwkd003/VB-Rhythm-Avoid-Balls development by creating an account on GitHub. github.com