본문 바로가기

java

[algorithm] 히스토그램 히스토그램 문제네 줄(한 줄당 72자이내)을 입력으로 받아 각 문자의 빈도수를 구하여 출력하는 문자 히스토그램을 출력하는 프로그램을 작성하라. 입력각 줄은 72자이내의 문자(알파벳 대문자, 특수문자)로 이루어진다. 출력불필요한 빈 줄은 출력하지 않는다. 문자 사이에는 한 칸의 공백이 있다. 예제 입력JAVAPROGRAMMINGJAVAJAVA 예제 출력A의 사용 빈도는 : 7G의 사용 빈도는 : 2I의 사용 빈도는 : 1J의 사용 빈도는 : 3M의 사용 빈도는 : 2N의 사용 빈도는 : 1O의 사용 빈도는 : 1P의 사용 빈도는 : 1R의 사용 빈도는 : 2V의 사용 빈도는 : 3 문제 풀이import java.util.Scanner; public class Main {public static void m.. 더보기
[algorithm] 알파벳 찾기 알파벳 찾기 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 예제 입력 java 예제 출력 1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 .. 더보기
[algorithm] 알파벳 개수 구하기 알파벳 개수 문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 이 때, 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 예제 출력단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. 예제 입력java 예제 출력2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 문제 풀이import java.util.Scanner; public class Main { public static void main(String[] args) {Scanner scanner = new Scanner(System.in).. 더보기
[java] HTML 특수문자 처리 HTML 특수문자 처리 1. & 에서 & 형태로 변환public static String toTEXT(String str) {if(str == null)return null; String returnStr = str;returnStr = returnStr.replaceAll(" ", "\n");returnStr = returnStr.replaceAll(">", ">");returnStr = returnStr.replaceAll("<", " 더보기
[java] Client의 웹브라우저 종류 조회 Client의 웹브라우저 종류 조회 public static String getClntWebKind(HttpServletRequest request) throws Exception {String user_agent = request.getHeader("user-agent"); // 웹브라우저 종류 조회String webKind = "";if (user_agent.toUpperCase().indexOf("GECKO") != -1) {if (user_agent.toUpperCase().indexOf("NESCAPE") != -1) {webKind = "Netscape (Gecko/Netscape)";} else if (user_agent.toUpperCase().indexOf("FIREFOX") != -1).. 더보기
[java] Client IP 조회 Client IP 조회 서버에 접속하는 클라이언트의 아이피를 확인하기 위해서는HttpServletRequest 객체를 이용하면 된다고 한다.request.getRemoteAddr(); 하지만 Load Balancer나 프록시 같은 경우는 정확한 아이피 정보를가져오지 못 한다고 한다. 그래서 다음과 같은 메소드를 이용한다.localhost에서 테스트 할 경우 0:0:0:0:0:0:0:1 값으로 넘어 오는 경우가 있는데이 값은 IPv6에서 IPv4의 127.0.0.1와 같은 값이다. 127.0.0.1로 받아오려면 톰캣 vm arguments에 아래와 같이 추가하여 준다. vm arguments-Djava.net.preferIPv4Stack=true java public String getClientIP(Ht.. 더보기
[java] 임시 비밀번호 만들기 임시 비밀번호 만들기 비밀번호를 재발급해줄 때 사용할 수 있는 임시 비밀번호. 1. 원하는 길이의 랜덤 비밀번호 생성 (매개변수 : 사이즈)public static String temporaryPassword(int size) {StringBuffer buffer = new StringBuffer();Random random = new Random();String chars[] = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9".split(",");for (int i = 0; i < size; i++) {buffer.append(.. 더보기
[java] 영문/한글 길이 구하기 영문/한글 길이 구하기 public int getSizeToString(String str) { int en = 0;int ko = 0;int etc = 0; char[] string = str.toCharArray(); for(int i = 0; i = "A" && string[i] = "\uAC00" && string[i] 더보기
[java] java JSON 데이터 파싱 java JSON 데이터 파싱 자바 코드안에서 해당 URL 접속 후 응답받은 JSON객체를 파싱하는 예제 JSON Simple maven dependency com.googlecode.json-simplejson-simple1.1.1 Methodtry{// 위도, 경도String location = lat + "," + lng;// APIString weatherApi = "http://api.wunderground.com/api/" + apikey + "/conditions/lang:us/q/" + location + ".json"; // java.net.URLURL url = new URL(weatherApi);// Connection 객체를 InputStreamReader로 읽고 utf-8로 인코딩.. 더보기
[java] replaceAll(), trim() 으로 제거되지 않는 공백제거 replaceAll(), trim() 으로 제거되지 않는 공백제거 public static String replaceAllSpace(String str){String result_str = str.replaceAll("\\p{Z}", "");return result_str;} 참고 : 서비의 다락방 더보기
[java] 몇 분전, 몇 시간전, 몇 일전 표현 Util 몇 분전, 몇 시간전, 몇 일전 표현 Util private static class TIME_MAXIMUM { public static final int SEC = 60; public static final int MIN = 60; public static final int HOUR = 24; public static final int DAY = 30; public static final int MONTH = 12; } public String calculateTime(Date date) { long curTime = System.currentTimeMillis(); long regTime = date.getTime(); long diffTime = (curTime - regTime) / 1000; St.. 더보기
[java] 문서 파싱 및 추출(pdf, doc, docx, xls, xlsx, ppt, pptx) 문서 파싱 및 추출(pdf, doc, docx, xls, xlsx, ppt, pptx) 필요 라이브러리 Apache PDFBox : http://pdfbox.apache.org/downloads.htmlApache POI : http://poi.apache.org/download.html pdf 파서import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.apache.pdfbox.cos.COSDocument;import org.apache.pdfbox.pdfparser.PDFParser;import org.apache.pdfbox.pdmo.. 더보기