전체 글45 [Java/Algorithm] 백준 10871번: X보다 작은 수 for문과 if문으로 간단히 풀 수 있는 문제이다. 배열 카테고리라서 배열을 사용하도록 유도된 것 같지만 배열을 사용할 수도 있고 사용하지 않을 수도 있다. 아래에 성능 비교도 있다. 1. 배열 사용 + StringBuilder import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringB.. 2023. 11. 12. [Java/Algorithm] 백준-10951 EOF 사용하기 + 성능비교 EOF 란? End of File, 더이상 데이터가 존재하지 않을 경우 반복문을 종료하는 것. ctrl + Z(윈도우) ctrl + D(리눅스) 로 종료 3가지 방법이 있다. 1. BufferedReader + StringTokenizer 2. BufferedReader + String.charAt() 3 .Scanner 1. BufferedReader + StringTokenizer import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS.. 2023. 11. 11. [Java/Algorithm] Java11에 추가된 String 메소드 repeat()로 코드 단축하기 여느때 처럼 별찍기 문제를 다중 for문으로 해결하여 제출을 했는데, 상위권 제출자들의 소스코드를 보니 repeat()메소드를 사용하여 한 번의 for문으로 해결하고 있었다! Repeat Java11에 추가된 String 메소드 repeat String 문자열을 주어진 파라미터의 횟수만큼 반복한다. 파라미터를 0으로 지정하면 빈 문자열을 반환한다. 파라미터를 음수로 지정하면 IllegalArgumentExceptionthrow 에러를 반환한다. 파라미터를 1로 지정하면 문자열을 그대로 반환한다. 내부적으로 Arrays.fill()과 System.arraycopy()메소드를 호출하여 새 문자열을 만든다. https://www.javastring.net/java/string/java-string-repeat.. 2023. 11. 10. [Java/Algorithm] BufferedWriter vs. StringBuilder 속도차이! 위에서 부터 순서대로 BufferedWriter + StringTokenizer + StringBuilder + while BufferedWriter + StringTokenizer + StringBuilder + for BufferedWriter + StringTokenizer + while BufferedWriter + StringTokenizer + for 1. BufferedWriter + StringTokenizer + StringBuilder + while import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { Bu.. 2023. 11. 10. [Java/Algorithm] BufferedReader vs. Scanner 분명한 속도 차이! [Scanner] 직관적이고 내장 메소드가 많아서 활용성이 높다. 키보드로부터 입력받은 즉시 메모리 전송! 띄어쓰기와 개행문자(엔터)를 기준으로 입력 값 인식 사용법 객체생성 - 입력값 받기 - 리소스 닫기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Scanner 객체 생성 int n = sc.nextInt(); // 정수형 입력값 받을 땐 nextInt() System.out.println(n); sc.close(); // 리소스 닫기 } } [BufferedReaer] 버퍼를 거쳐서 메모리 전송! 키보드의 입력을 바구니.. 2023. 11. 9. [Java자바] 입력한 년/월/일의 요일 구하기. 배열 | 접근제어지시자 | 클래스 설계 2월16일 Test099.java ※ 문제 조건 사용자로부터 년, 월, 일을 입력받아 해당 날짜의 요일을 출력하는 프로그램을 구현한다. 단, 달력 클래스(Calender)는 사용하지 않는다. 또한, 클래스의 개념을 활용하여 작성할 수 있도록 한다. (→ WeekDay 클래스 설계) 그리고, 배열의 개념도 적용시켜 작성할 수 있도록 한다. 접근제어지시자의 개념도 확인하여 작성할 수 있도록 한다. 최종적으로 WeekDay 클래스 설계를 통해 Test099 클래스의 main() 메소드가 정상적으로 프로그램 실행될 수 있도록 한다. 실행 예) 년 월 일 입력(공백 구분) : 2023 2 16 >> 2023년 2월 16일 → 목요일 계속하려면 아무 키나 누르시오... 년 월 일 입력(공백 구분) : 1997 7 .. 2023. 2. 25. [Java자바] 정보 은닉 | 접근 제어 지시자 | 전역변수(멤버 변수, 인스턴스 변수) 초기화 2월 16일 Test098.java 지시자 클래스 내부 동일 패키지 상속받은 클래스 이외의 영역 private O X X X default O O X X protected O O O X public O O O O public > protected > default > private ※ 접근 제어 지시자 == 접근 지시자 == 접근 제어자 == 접근 지정자 == 접근 제한자 import java.util.Scanner class CircleTest2 { // 클래스 내부에 있는 변수 // 멤버 변수, 인스턴스 변수, 전역 변수// 클래스 변수(Ⅹ) // int num; // ↓ // 정보 은닉 private int num; // getter 구성 int getNum()// 값을 얻어다 쓸 수 있게하는 메소.. 2023. 2. 25. [JAVA(자바)] 변수와 자료형(1) | println() 메소드로 출력하기 1월 31일 수업 내용 정리 자료형 데이터 메모리 크리 표현 가능 범위 boolean 참과 거짓 1바이트 true, false char 문자 2바이트 모든 유니코드 문자 byte 정수 1바이트 -128 ~ 127 short 정수 2바이트 -32768 ~ 32767 int 정수 4바이트 -2147483648 ~ 2147483647 long 정수 8바이트 -9223372036854775808 ~ 9223372036854775807 float 실수 4바이트 +-(1.40x10^-45 ~ 3.40x10^38) double 실수 8바이트 +-(4.94x10^-324 ~ 1.79x10^308) 앞으로 코딩할 때 기본 셋팅 public class Testxxx { public static void main(Strin.. 2023. 2. 18. java.exe와 javac.exe의 차이? 역할? 인간에게 가까운 언어는 고급언어, 컴퓨터에게 가까운 언어는 어셈블리어(기계어). (가깝다는 의미? 읽어들일 수 있다) 자바는 고급언어이기 때문에 바로 컴퓨터가 읽어들일 수 없음. javac.exe 우리가 작성한 자바 파일을 컴파일한다. 즉, 자바 파일(xxx.java)을 자바 바이트코드(xxx.class)로 변환한다. → 자바 컴파일러. java.exe 컴파일 된 xxx.class 파일을 불러서 실행한다. (런처) → 자바 인터프리터 고급언어 -----> 컴파일 -----> 자바 바이트코드 -----> JVM ----> 자바 런처 ----> 실행 xxx.java → javac.exe → xxx.class → Java Virtual Machine → java.exe 2023. 2. 12. 이전 1 2 3 4 5 다음