Language
-
2022-10-06 1. 방법 [[1, 2, 3], [2, 1], [1, 2, 4, 3], [2]] 이와 같은 이중 배열이 있다고 가정해보자. 이를 내부의 배열의 길이의 순서대로 정렬하면, [[2], [2, 1], [1, 2, 3], [1, 2, 4, 3]] 이런 모양이 나올 것이다. 방법을 알아보자. import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @Test public void test17() { //오름차순 정렬 Comparator c = new Comparator() { public int compare(L..
[Java] 다중 (Array)List 길이로 정렬하는 방법2022-10-06 1. 방법 [[1, 2, 3], [2, 1], [1, 2, 4, 3], [2]] 이와 같은 이중 배열이 있다고 가정해보자. 이를 내부의 배열의 길이의 순서대로 정렬하면, [[2], [2, 1], [1, 2, 3], [1, 2, 4, 3]] 이런 모양이 나올 것이다. 방법을 알아보자. import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @Test public void test17() { //오름차순 정렬 Comparator c = new Comparator() { public int compare(L..
2022.10.06 -
2022-10-03 1. 방법 @Test public void test8() { String s = "hello"; for(int i = 0; i < s.length(); i++){ StringBuilder sb = new StringBuilder(s); String subString = sb.substring(0, i); sb.delete(0,i); sb.append(subString); System.out.println(sb.toString()); } } //출력결과 //hello //elloh //llohe //lohel //ohell 위와 같은 방법을 사용하면 처음에 위치한 char를 맨뒤로 보내면서 해당 문자열을 회전 시킬 수 있다. 사실 로직은 한번씩 StringBuilder 를 초기화 시키면..
[Java] 자바 문자열 회전시키는 방법 알아보기.2022-10-03 1. 방법 @Test public void test8() { String s = "hello"; for(int i = 0; i < s.length(); i++){ StringBuilder sb = new StringBuilder(s); String subString = sb.substring(0, i); sb.delete(0,i); sb.append(subString); System.out.println(sb.toString()); } } //출력결과 //hello //elloh //llohe //lohel //ohell 위와 같은 방법을 사용하면 처음에 위치한 char를 맨뒤로 보내면서 해당 문자열을 회전 시킬 수 있다. 사실 로직은 한번씩 StringBuilder 를 초기화 시키면..
2022.10.03 -
2022-09-24 1. 방법 사실 직접 구현할 필요 없이 아래와 같은 Integer.bitCount(i) 라는 메소드를 사용하면 빠르고 쉽게 구할 수 있다. int num = 12345; int cntBit = Integer.bitCount(num); System.out.println(cntBit); //6 메인 이미지 출처 : Photo by Geio Tischler on Unsplash
[Java] 이진수의 비트 수(1) 빠르게 세는 방법 알아보기2022-09-24 1. 방법 사실 직접 구현할 필요 없이 아래와 같은 Integer.bitCount(i) 라는 메소드를 사용하면 빠르고 쉽게 구할 수 있다. int num = 12345; int cntBit = Integer.bitCount(num); System.out.println(cntBit); //6 메인 이미지 출처 : Photo by Geio Tischler on Unsplash
2022.09.24 -
2022-09-23 1. 방법 //String 에서 a 라는 문자의 개수를 세는 방법 String abc = "aaaaabbbbcccc"; int aCount = abc.length() - abc.replace("a", "").length(); 위와 같은 방식으로 " 전체 문자열 길이 - (전체 문자열에서 a를 제외한 문자열의 길이 ) " 와 같은 공식을 사용하면 해당 문자열에서 자신이 찾고자 하는 문자의 개수를 확인할 수 있다. 메인 이미지 출처 : Photo by Slashio Photography on Unsplash
[Java] 자바 String 특정 문자열 개수 빠르게 확인하는 방법2022-09-23 1. 방법 //String 에서 a 라는 문자의 개수를 세는 방법 String abc = "aaaaabbbbcccc"; int aCount = abc.length() - abc.replace("a", "").length(); 위와 같은 방식으로 " 전체 문자열 길이 - (전체 문자열에서 a를 제외한 문자열의 길이 ) " 와 같은 공식을 사용하면 해당 문자열에서 자신이 찾고자 하는 문자의 개수를 확인할 수 있다. 메인 이미지 출처 : Photo by Slashio Photography on Unsplash
2022.09.23 -
2021-12-27 1. 문제 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상..
[프로그래머스] Lv.2 이진 변환 반복하기2021-12-27 1. 문제 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상..
2022.09.21 -
2022-09-19 1. 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예시 예시 "3people unFollowed me"-> "3people Unfollowed Me" "for the l..
[프로그래머스] Lv.2 JadenCase 문자열 만들기2022-09-19 1. 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예시 예시 "3people unFollowed me"-> "3people Unfollowed Me" "for the l..
2022.09.19 -
2022-09-02 단순 메일 발송이 아닌 첨부파일 그중에서 엑셀 파일과 함께 발송하는 방법을 알아보자. 우선적으로 구현 class는 총 3개이며, 메일 계정 인증 유틸 / 메일 발송 유틸 / 실제 메일을 발송하는 컨트롤러 이렇게 구성했다. 0. 라이브러리 자신의 build.gradle 아래 2가지의 라이브러리를 추가해야 한다. // 엑셀관련 workbook 라이브러리 // https://mvnrepository.com/artifact/org.apache.poi/poi implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2' // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml ..
[Java] 메일에 엑셀파일 담아서 발송하는 방법[메일 첨부 파일/gmail]2022-09-02 단순 메일 발송이 아닌 첨부파일 그중에서 엑셀 파일과 함께 발송하는 방법을 알아보자. 우선적으로 구현 class는 총 3개이며, 메일 계정 인증 유틸 / 메일 발송 유틸 / 실제 메일을 발송하는 컨트롤러 이렇게 구성했다. 0. 라이브러리 자신의 build.gradle 아래 2가지의 라이브러리를 추가해야 한다. // 엑셀관련 workbook 라이브러리 // https://mvnrepository.com/artifact/org.apache.poi/poi implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2' // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml ..
2022.09.02 -
2022-08-23 1. 방법 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString());//[a, b, c] } 2. 응용 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString()); String [] arr2 = {"d", "d", "a"}; for(int i = 0; i < arr2.le..
[Java] String [] 을 HashSet으로 변경하는 방법2022-08-23 1. 방법 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString());//[a, b, c] } 2. 응용 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString()); String [] arr2 = {"d", "d", "a"}; for(int i = 0; i < arr2.le..
2022.08.23 -
2022-08-04 우선 최초의 데이터는 String 형태로 받아 왔다고 가정한다. - 사용 라이브러리 import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; - 소스 코드 public void testjson () { //2 depth 위치에 제이슨 형태의 배열 존재하는 경우 String request = "{\r\n" + " \"resultData\": {\r\n" + " \"jsonList\": [\r\n" + " {\r\n" + " \"test1\": \"test\",\r\n..
[Java] JSONObject 에서 JSONArray 추출 및 반복문 구현하기2022-08-04 우선 최초의 데이터는 String 형태로 받아 왔다고 가정한다. - 사용 라이브러리 import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; - 소스 코드 public void testjson () { //2 depth 위치에 제이슨 형태의 배열 존재하는 경우 String request = "{\r\n" + " \"resultData\": {\r\n" + " \"jsonList\": [\r\n" + " {\r\n" + " \"test1\": \"test\",\r\n..
2022.08.04 -
2022-07-18 simple.JSONObject 라이브러리 사용시 jsonobject 를 map 형태의 객체로 변경하는 방법에 대하여 알아보자. - 소스코드 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.json.JSONException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class TestService { //json을 받아 hashmap으로 변환하는 메소드 pub..
[Java] JsonObject 를 Map(HashMap) 객체로 바꾸는 방법2022-07-18 simple.JSONObject 라이브러리 사용시 jsonobject 를 map 형태의 객체로 변경하는 방법에 대하여 알아보자. - 소스코드 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.json.JSONException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class TestService { //json을 받아 hashmap으로 변환하는 메소드 pub..
2022.07.18 -
2022-03-14 위 에러는 이미 톰캣 서버의 포트가 이미 할당되어 서버가 올려져 있는데 동일한 포트로 톰캣 서버를 올리려고 하니 발생하는 문제이다. 이를 해결하는 방법을 알아보자. - 방법 현재 IDE 에서 서버는 내려간 것으로 보이는데 이와 같은 증상이 발생한다면 콘솔 창에서 이를 해결해야 한다. Window + r -> cmd 창에 접속한다. 그리고 아래의 명령어를 입력한다. netstat -ano | find "톰켓포트번호" -- EX) netstat -ano | find "8080" 톰켓 포트를 변경하지 않는 이상 기본 포트 8080 포트로 잡혀있을 것이다. 톰켓 포트번호로 적힌 곳에 자신이 실행했던 포트번호를 입력하면 된다. 이후 5개의 항목이 보이게 되는데 아래와 같은 의미를 가진다. --..
[Java] Caused by: java.net.BindException: Address already in use: bind 해결방법2022-03-14 위 에러는 이미 톰캣 서버의 포트가 이미 할당되어 서버가 올려져 있는데 동일한 포트로 톰캣 서버를 올리려고 하니 발생하는 문제이다. 이를 해결하는 방법을 알아보자. - 방법 현재 IDE 에서 서버는 내려간 것으로 보이는데 이와 같은 증상이 발생한다면 콘솔 창에서 이를 해결해야 한다. Window + r -> cmd 창에 접속한다. 그리고 아래의 명령어를 입력한다. netstat -ano | find "톰켓포트번호" -- EX) netstat -ano | find "8080" 톰켓 포트를 변경하지 않는 이상 기본 포트 8080 포트로 잡혀있을 것이다. 톰켓 포트번호로 적힌 곳에 자신이 실행했던 포트번호를 입력하면 된다. 이후 5개의 항목이 보이게 되는데 아래와 같은 의미를 가진다. --..
2022.03.14 -
2022-02-15 - 방법 방법은 StringBuilder에서 제공하는 두 가지 메소드를 사용하는 것이다. 첫 번째 메소드는 lastIndexOf(String str) 이다. 이는 파라미터로 넘겨준 마지막 문자열의 인덱스를 리턴하게 된다. 아래의 예제를 보면 쉽게 이해될 것이다. StringBuilder result = new StringBuilder(""); result.append("(test1234),"); //쉼표의 위치는 10번째 이다. System.out.println("result.lastIndexOf" + result.lastIndexOf(",")); // 10을 리턴 다음 메소드는 deleteCharAt(int index)이다. 이는 지정된 인덱스에 존재하는 문자열을 제거하게 된다. l..
[Java] StringBuilder 로 제일 마지막 문자열 (제거/삭제)하는 방법2022-02-15 - 방법 방법은 StringBuilder에서 제공하는 두 가지 메소드를 사용하는 것이다. 첫 번째 메소드는 lastIndexOf(String str) 이다. 이는 파라미터로 넘겨준 마지막 문자열의 인덱스를 리턴하게 된다. 아래의 예제를 보면 쉽게 이해될 것이다. StringBuilder result = new StringBuilder(""); result.append("(test1234),"); //쉼표의 위치는 10번째 이다. System.out.println("result.lastIndexOf" + result.lastIndexOf(",")); // 10을 리턴 다음 메소드는 deleteCharAt(int index)이다. 이는 지정된 인덱스에 존재하는 문자열을 제거하게 된다. l..
2022.02.15 -
2021-01-12 특정 날짜에 이메일을 보내거나 문자를 보내는 등의 날짜를 계산하여 로직을 구성해야 하는 경우가 있다. 이러한 경우 어떻게 구현해야 하는지 알아보자. - 예제 @Test public void dayTest() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date now = new Date(); Calendar cal = Calendar.getInstance(); //하루씩 더하는 루프 for(int i = 1; i
[Java] 자바 날짜 더하고 빼는 계산 방법 알아보기.2021-01-12 특정 날짜에 이메일을 보내거나 문자를 보내는 등의 날짜를 계산하여 로직을 구성해야 하는 경우가 있다. 이러한 경우 어떻게 구현해야 하는지 알아보자. - 예제 @Test public void dayTest() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date now = new Date(); Calendar cal = Calendar.getInstance(); //하루씩 더하는 루프 for(int i = 1; i
2022.01.12 -
2021-12-31 자바 내에서 리눅스 서버에 접속하여 명령어를 실행하는 방법을 알아보자. - build.gradle // https://mvnrepository.com/artifact/com.jcraft/jsch implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54' - import import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Properties; import com.jcraft.jsch.Chann..
[Java] 자바에서 리눅스 서버 접속 및 명령어(커맨드) 실행 하는 법2021-12-31 자바 내에서 리눅스 서버에 접속하여 명령어를 실행하는 방법을 알아보자. - build.gradle // https://mvnrepository.com/artifact/com.jcraft/jsch implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54' - import import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Properties; import com.jcraft.jsch.Chann..
2021.12.31 -
2021-12-28 특정 서버에 접속하여, 원하는 정보를 가져와야 하는 경우가 있다. 이러한 경우 어떻게 해당 서버에 접근하여 정보를 가져오는지 알아보자. - import import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; - 예제 public void sftpTest() { String requestContent..
[Java] 자바에서 SFTP / SSH 접속 하기(스프링)2021-12-28 특정 서버에 접속하여, 원하는 정보를 가져와야 하는 경우가 있다. 이러한 경우 어떻게 해당 서버에 접근하여 정보를 가져오는지 알아보자. - import import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; - 예제 public void sftpTest() { String requestContent..
2021.12.28 -
2021-12-13 hashmap은 순서가 보장된 자료구조가 아니기 때문에 list와는 달리 루프를 돌면서 데이터를 가져올 수 없다. 때문에 iterator를 이용해 키값들을 추출하고, 해당 키값이 저장된 iterator를 이용해 hashmap의 전체 value 값들을 가져와야 한다. 오늘은 이와 같은 방법을 알아보자. - 예제 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class HashMapTest {..
[Java] HashMap에서 key값들 가져오기.2021-12-13 hashmap은 순서가 보장된 자료구조가 아니기 때문에 list와는 달리 루프를 돌면서 데이터를 가져올 수 없다. 때문에 iterator를 이용해 키값들을 추출하고, 해당 키값이 저장된 iterator를 이용해 hashmap의 전체 value 값들을 가져와야 한다. 오늘은 이와 같은 방법을 알아보자. - 예제 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class HashMapTest {..
2021.12.13 -
2021-09-18 사용자 및 회원의 정보중 아이디 비밀번호 휴대폰 번호 이메일 등... 민감한 정보들이 있다. 이러한 정보들을 암호화 없이 데이터베이스 저장할 경우 법적으로 문제가 될 수 있는데, 이러한 경우에 필요한 과정이 바로 암호화이다. 오늘은 많은 암호화 방법 중 간단하고 강력한 AES-256 암호화하는 과정을 빠르게 알아보도록 하자. - 예제 예제는 간단히 사용자의 아이디를 암호화하는 과정을 나타낸다. 여러 암호화 할 데이터를 리스트 형식으로 받아서 루프를 돌려 처리해도 되며, 사용방법은 본인의 자유이다. package com.win.test.controller; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto...
[Java] AES-256으로 암호화 복호화 방법 알아보기2021-09-18 사용자 및 회원의 정보중 아이디 비밀번호 휴대폰 번호 이메일 등... 민감한 정보들이 있다. 이러한 정보들을 암호화 없이 데이터베이스 저장할 경우 법적으로 문제가 될 수 있는데, 이러한 경우에 필요한 과정이 바로 암호화이다. 오늘은 많은 암호화 방법 중 간단하고 강력한 AES-256 암호화하는 과정을 빠르게 알아보도록 하자. - 예제 예제는 간단히 사용자의 아이디를 암호화하는 과정을 나타낸다. 여러 암호화 할 데이터를 리스트 형식으로 받아서 루프를 돌려 처리해도 되며, 사용방법은 본인의 자유이다. package com.win.test.controller; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto...
2021.09.18 -
2021-07-29 입출력 스트림 및 다양한 경우에 바이트 배열을 String으로 String을 바이트 배열로 변경해야 하는 경우가 종종 발생하게 된다. 오늘은 이와 같은 경우에 어떻게 처리하는 지를 알아보도록 하자. - 예제 예제의 순서는 이러하다 우선적으로 하나의 String 객체를 선언해주고 이를 byte 배열로 변경한 후 다시 String으로 변경하는 과정을 살펴보도록 하자. //문자열 객체 String str = "Hello World"; //문자열 객체를 바이트 배열로 변환 byte [] arrByte = a.getBytes(); // 변환된 객체를 다시 문자열로 변환 String result = new String(arrByte); System.out.println(result); // He..
[Java] Byte 배열을 String으로 바꾸는 법 / String을 Byte 배열로 바꾸는법2021-07-29 입출력 스트림 및 다양한 경우에 바이트 배열을 String으로 String을 바이트 배열로 변경해야 하는 경우가 종종 발생하게 된다. 오늘은 이와 같은 경우에 어떻게 처리하는 지를 알아보도록 하자. - 예제 예제의 순서는 이러하다 우선적으로 하나의 String 객체를 선언해주고 이를 byte 배열로 변경한 후 다시 String으로 변경하는 과정을 살펴보도록 하자. //문자열 객체 String str = "Hello World"; //문자열 객체를 바이트 배열로 변환 byte [] arrByte = a.getBytes(); // 변환된 객체를 다시 문자열로 변환 String result = new String(arrByte); System.out.println(result); // He..
2021.07.29 -
2021-03-29 문제 상근이는 보통 사람들이 사는 것과는 조금 다른 삶을 사는 사람이다. 상근이는 이런 사람들의 시선이 부담스럽기 때문에, 자신만의 숫자를 개발하기로 했다. 바로 그 이름은 팩토리얼 진법이다. 팩토리얼 진법은 각 자리에 올 수 있는 숫자는 0부터 9까지로 10진법과 거의 비슷하다. 하지만, 읽는 법은 조금 다르다. 팩토리얼 진법에서는 i번 자리의 값을 ai×i!로 계산한다. 즉, 팩토리얼 진법에서 719는 10진법에서 53과 같다. 그 이유는 7×3! + 1×2! + 9×1! = 53이기 때문이다. 팩토리얼 진법으로 작성한 숫자가 주어졌을 때, 10진법으로 읽은 값을 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루..
백준 BaekJoon 5692번: 팩토리얼 진법2021-03-29 문제 상근이는 보통 사람들이 사는 것과는 조금 다른 삶을 사는 사람이다. 상근이는 이런 사람들의 시선이 부담스럽기 때문에, 자신만의 숫자를 개발하기로 했다. 바로 그 이름은 팩토리얼 진법이다. 팩토리얼 진법은 각 자리에 올 수 있는 숫자는 0부터 9까지로 10진법과 거의 비슷하다. 하지만, 읽는 법은 조금 다르다. 팩토리얼 진법에서는 i번 자리의 값을 ai×i!로 계산한다. 즉, 팩토리얼 진법에서 719는 10진법에서 53과 같다. 그 이유는 7×3! + 1×2! + 9×1! = 53이기 때문이다. 팩토리얼 진법으로 작성한 숫자가 주어졌을 때, 10진법으로 읽은 값을 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루..
2021.03.29 -
2021-03-22 - 정의 PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api ) PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자. - print / println / printf PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할..
[Java] java PrintWriter 출력 스트림에 대하여 알아보기.2021-03-22 - 정의 PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api ) PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자. - print / println / printf PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할..
2021.03.22