Java
-
개요 일반 문자, 숫자를 저장한 리스트를 정렬할때와는 달리 객체를 오름/내림차순으로 정렬할때는 어떤 것을 기준으로 정렬할지 정해주어야 한다. Collections 클래스에서 제공해주는 메소드를 이용하여 정렬을 진행한다. 오름차순 정렬 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { // 정렬할 리스트 생성 List articles = new ArrayList(); articles.add(new Article(1, "제목1")); articles.add..
java - 객체가 저장된 List 오름차순과 내림차순 정렬개요 일반 문자, 숫자를 저장한 리스트를 정렬할때와는 달리 객체를 오름/내림차순으로 정렬할때는 어떤 것을 기준으로 정렬할지 정해주어야 한다. Collections 클래스에서 제공해주는 메소드를 이용하여 정렬을 진행한다. 오름차순 정렬 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { // 정렬할 리스트 생성 List articles = new ArrayList(); articles.add(new Article(1, "제목1")); articles.add..
2022.02.24 -
백준 7. 문자열 완료 후기 자바를 계속 배우면서 객체화, 메소드의 중요성 역시 계속해서 배웠었는데 여태까지 백준을 푸는 동안에는, java로 코딩을 하는 동안에는 나는 딱히 체감이 안 됐었다. 하지만 오늘 처음으로 그 중요성을 뼈저리게 느끼며 메소드를 만들게 되었다. 여태까지는 백준을 풀면서 어려운 문제가 있더라도 주석만 잘 달면 조금 헤메다가도 곧잘 풀렸었는데 7-10번 문제는 달랐다. 내가 만든 코드를 보면서 너무 복잡하고, 하나를 고치려면 모든 걸 뜯어고쳐야 하는 너무나도 비효율적인 코드다 라는 생각이 들었다. 단순 복잡하고 비효율적이기만 했으면 그냥 넘어갔겠지만 정상적으로 실행도 안 됐기 때문에 코드를 다 지우고 새로 만들어 보았다. 백지 상태로 돌아가 다시 어떤 식으로 코드를 짤까 부터 다시 ..
백준 - 7번 문자열 완료 후기백준 7. 문자열 완료 후기 자바를 계속 배우면서 객체화, 메소드의 중요성 역시 계속해서 배웠었는데 여태까지 백준을 푸는 동안에는, java로 코딩을 하는 동안에는 나는 딱히 체감이 안 됐었다. 하지만 오늘 처음으로 그 중요성을 뼈저리게 느끼며 메소드를 만들게 되었다. 여태까지는 백준을 풀면서 어려운 문제가 있더라도 주석만 잘 달면 조금 헤메다가도 곧잘 풀렸었는데 7-10번 문제는 달랐다. 내가 만든 코드를 보면서 너무 복잡하고, 하나를 고치려면 모든 걸 뜯어고쳐야 하는 너무나도 비효율적인 코드다 라는 생각이 들었다. 단순 복잡하고 비효율적이기만 했으면 그냥 넘어갔겠지만 정상적으로 실행도 안 됐기 때문에 코드를 다 지우고 새로 만들어 보았다. 백지 상태로 돌아가 다시 어떤 식으로 코드를 짤까 부터 다시 ..
2022.02.24 -
문자열/정수형 각 문자/숫자 순서 뒤집기 String str = "ABCDEFG"; // 순서를 뒤집을 문자열 생성 String i = "1234567"; // 순서를 뒤집을 정수형 생성 (정수 형태로는 뒤집을 수가 없어 문자열로 생성 후 변환한 뒤에 형변환을 해준다.) String reverseStr = new StringBuffer(str).reverse().toString(); // str 문자열의 각 문자들 순서를 반대로 뒤집어 reverseStr에 저장한다. int reverseI = Integer.parseInt(new StringBuffer(i).reverse().toString()); // i 문자열의 각 숫자들 순서를 반대로 뒤집은 후 형변환을 거쳐 reverseI에 저장한다. Syste..
java - 문자열/정수형 순서 뒤집기문자열/정수형 각 문자/숫자 순서 뒤집기 String str = "ABCDEFG"; // 순서를 뒤집을 문자열 생성 String i = "1234567"; // 순서를 뒤집을 정수형 생성 (정수 형태로는 뒤집을 수가 없어 문자열로 생성 후 변환한 뒤에 형변환을 해준다.) String reverseStr = new StringBuffer(str).reverse().toString(); // str 문자열의 각 문자들 순서를 반대로 뒤집어 reverseStr에 저장한다. int reverseI = Integer.parseInt(new StringBuffer(i).reverse().toString()); // i 문자열의 각 숫자들 순서를 반대로 뒤집은 후 형변환을 거쳐 reverseI에 저장한다. Syste..
2022.02.24 -
대문자 전환 String str = "abcdefg"; // 대문자 전환할 문자열 선언 String upperStr = str.toUpperCase(); // 전환한 문자열을 새 변수에 저장 System.out.println(upperStr); // 출력 : ABCDEFG 소문자 전환 String str = "ABCDEFG"; // 소문자 전환할 문자열 선언 String lowerStr = str.toLowerCase(); // 전환한 문자열을 새 변수에 저장 System.out.println(lowerStr); // 출력 : abcdefg
java - 대/소문자 전환대문자 전환 String str = "abcdefg"; // 대문자 전환할 문자열 선언 String upperStr = str.toUpperCase(); // 전환한 문자열을 새 변수에 저장 System.out.println(upperStr); // 출력 : ABCDEFG 소문자 전환 String str = "ABCDEFG"; // 소문자 전환할 문자열 선언 String lowerStr = str.toLowerCase(); // 전환한 문자열을 새 변수에 저장 System.out.println(lowerStr); // 출력 : abcdefg
2022.02.24 -
List와 Map의 차이, 사용법 List 데이터 저장 시 편하다. 데이터 가져올 때 불편하다. (원하는 값을 가져오기 위해서는 인덱스 번호를 알아야한다.) 인덱스가 자동으로 생성된다. (정수형) 데이터 저장 List list = new ArrayList(); list.add("새로운 리스트"); 저장된 값 변경 list.set(0, "변경 값"); Map 데이터 넣을 때 불편하다. 데이터 가져올 때 편하다. 인덱스를 수동으로 생성한다. (보통 문자열 인덱스 생성) 데이터 저장 Map(String, Integer) map = new HashMap(); map.put("수동인덱스값", 1234); 저장된 값 변경 map.put("수동인덱스값", 5678); 값 출력, 삭제는 Map, List가 동일하게 r..
java - List와 Map의 차이, 사용법List와 Map의 차이, 사용법 List 데이터 저장 시 편하다. 데이터 가져올 때 불편하다. (원하는 값을 가져오기 위해서는 인덱스 번호를 알아야한다.) 인덱스가 자동으로 생성된다. (정수형) 데이터 저장 List list = new ArrayList(); list.add("새로운 리스트"); 저장된 값 변경 list.set(0, "변경 값"); Map 데이터 넣을 때 불편하다. 데이터 가져올 때 편하다. 인덱스를 수동으로 생성한다. (보통 문자열 인덱스 생성) 데이터 저장 Map(String, Integer) map = new HashMap(); map.put("수동인덱스값", 1234); 저장된 값 변경 map.put("수동인덱스값", 5678); 값 출력, 삭제는 Map, List가 동일하게 r..
2022.02.24 -
java - split을 이용한 문자열 자르기 String[] split(String regex) - 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나누어 배열에 저장 후 리턴한다. String phoneNumber = "010-1234-5678"; // 나눌 변수를 선언 String[] pNArray = phoneNumber.split("-"); // "-"를 기준으로 나누어 pNArray[]에 담음 // pNArray[0] = "010" // pNArray[1] = "1234" // pNArray[2] = 5678" String[] split(String regex, int limit) - 두 번째 인자값은 배열의 크기를 정한다 String[] phoneNumber = "82-010-1234..
java - split을 이용한 문자열 자르기java - split을 이용한 문자열 자르기 String[] split(String regex) - 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나누어 배열에 저장 후 리턴한다. String phoneNumber = "010-1234-5678"; // 나눌 변수를 선언 String[] pNArray = phoneNumber.split("-"); // "-"를 기준으로 나누어 pNArray[]에 담음 // pNArray[0] = "010" // pNArray[1] = "1234" // pNArray[2] = 5678" String[] split(String regex, int limit) - 두 번째 인자값은 배열의 크기를 정한다 String[] phoneNumber = "82-010-1234..
2022.02.24 -
백준(java) - 6-3(한수) 풀이 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); in..
백준 - 6-3(한수) 풀이백준(java) - 6-3(한수) 풀이 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); in..
2022.02.24 -
올림Math.ceil()double num = 123.4567891011;double test = Math.ceil(num); // 124// Math.cail()는 소수점 첫째자리를 기준으로 올림하는 메소드이다.반올림Math.round()double num = 123.4567891011;double test = Math.round(num); // 123// Math.round()는 소수점 첫째자리를 기준으로 반올림하는 메소드이다.double result1 = Math.round(num * 100) / 100.0; // 123.46// 둘째자리까지 나타내려면 100을 곱해주고 후에 100.0으로 나눠준다. 100으로 나누면 정수형으로 변환되기 때문에 100.0으로 나눠야 한다.버림String.fomat(..
Java - 소수점 올림, 반올림, 버림올림Math.ceil()double num = 123.4567891011;double test = Math.ceil(num); // 124// Math.cail()는 소수점 첫째자리를 기준으로 올림하는 메소드이다.반올림Math.round()double num = 123.4567891011;double test = Math.round(num); // 123// Math.round()는 소수점 첫째자리를 기준으로 반올림하는 메소드이다.double result1 = Math.round(num * 100) / 100.0; // 123.46// 둘째자리까지 나타내려면 100을 곱해주고 후에 100.0으로 나눠준다. 100으로 나누면 정수형으로 변환되기 때문에 100.0으로 나눠야 한다.버림String.fomat(..
2022.02.24