본문 바로가기

java9

[java, 알고리즘, 그리디] :: 큰 수의 법칙 교재 : 이것이 코딩테스트다 package com.algorithm.greedy; import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class GreedyEx01 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenize.. 2021. 2. 14.
[ 분실물 통합 커뮤니티 프로젝트] - 공공데이터:: 경찰청 분실물 api 수집 경찰청 데이터는 Rest API로 받아서 코드를 짜는 작업은 어렵지 않았다. 서울시 분실물 api에서 제공하는 데이터는 맘에 들지 않아서 사이트 게시판을 직접 크롤링하기로 했다. 파이썬 BeautifulSoup 라이브러리를 사용하려 했으나 html문서를 보니 게시글 상세보기며 페이징 번호마다 a 태그에 url이 아닌 자바스크립트 함수를 통해 이동하는 구조였다. 브라우저 자동화가 가능한 selenium을 사용해서 크롤링에 도전했다. 당시 python으로 경찰청 api 요청을 돌리느라 Java로 크롤링에 도전했다. 좀 오래걸렸지만 코드가 완성되어 오늘 드디어 크롤링을 시작한다. 메서드를 기능별로 잘 짜보고 싶었는데 썩 맘에들진 않았다. 계속 연습해야겠다. 아참.... csv에 write하기 위해 List에 .. 2020. 12. 27.
[Java] - bubble sort package array; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { // 난수 담긴 배열 생성 int [] arr = new int[10]; for (int i = 0; i arr[j+1]){ int tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; flag = true; } } if(!flag) break; } System.out.println(Arrays.toString(arr)); } } 2020. 10. 29.
[ 공부 시간 프로그래머 만들기] - java, oracle, Java GUI 제목 : 공부 시간 스톱워치 기능 : - 회원 등록 기능. - 공부 시작 시간, 종료 시간 기록 - 하루 공부시간 기록 친구들과 단톡 방을 만들어 공부 인증 스터디를 운영 중이다. 각자 사용하는 스톱워치를 사진 찍어 올리는 방식이다. 좀 더 편리하게 시간을 기록할 방법이 없을까 고민하던 중에 텔레그램 챗봇 API를 활용해 공부시간 기록용 챗봇을 만들으려 한다. 이 프로젝트에 돌입하기 전에 우선 자바 GUI로 UI를 만들고 DB를 연결해 큰 로직을 설계해보려 한다. 작업 프로세스 1. GUI 설계 2. GUI의 요소마다 구현될 기능 선별 3. 필요한 데이터를 추려 데이터 스키마 설계 4. 구현 2020. 10. 28.
[ Java ] - Path must include project and resource name: /.gitignore 오류 원인은 나도 모르겠다. 해당 오류 메시지로 검색해보면 대부분 maven과 관련된 해결법이 뜬다. 그러나 나는 maven이 아닌 거 같아서 . gitignore 파일을 열어보았다. /. metadata/ *.class *.classpath *.project .settings/ .bin/ .gen/ .out/ .release/ 이렇게 되어있던 내용을 /.metadata/ *.class *.classpath *.project /.settings/ /.bin/ /.gen/ /.out/ /.release/ 이렇게 바꿔주니 에러가 발생하지 않았다. gitignore에서 커밋을 하지 않을 경로를 기술할 때 path와 관련된 에러가 아녔을까 싶다. 누구 아시는 분 계시다면 알려주세요.... 이전에는 문제 없었으나.. 2020. 10. 27.
[Java] - 인덱스 값을 자유자재로 조절하는 것이 중요하다. 알고리즘 문제를 풀어보면 2차원 배열의 값을 규칙을 세우고 변경해야 하는 문제가 많다. 이때 중첩 반복문에서 루프를 돌 때마다 i, j의 값이 내가 세운 규칙에 의해 적절하게 변경되도록 식을 만들어 주어야 한다. 이 부분에서 내가 가장 어려움을 느끼는 부분은 첫째, 비전공자로서 수의 규칙을 찾는 게 어렵다. 둘째, 중첩 반복문에서 변수 i, j의 값의 변화가 한눈에 안 들어온다. 이럴 때 무식한 게 최고라고 다른 사람의 코드 중에 눈에 잘 들어오는 코드를 줄을 따라 내려가며 변수의 변화를 다 적어보는 것이다. 인덱스 값의 변화를 직접 적어보고 왜 이런 규칙이 나오는지 이해하는 것이 내게는 큰 도움이 된다. 나는 천재가 아니고 또한 비전공자라서 아직 수에 익숙하지 않다. 이런 와중에 자바 기본서로 유명한 .. 2020. 10. 27.