본문 바로가기

반응형

Java

(376)
[Java 기본 알고리즘] (4) 투 포인터 package TwoPointerBasic; import java.util.HashMap; import java.util.Map; public class TwoPointer2 { public static void main(String[] args) { String s= "ccaabbb"; System.out.println(solve_map(s)); } //최대 2개의 고유 문자가 있는 가장 긴 부분 문자열 //문제 해결 public static int solve_map(String s) { //1. ds Map map = new HashMap(); int l=0, r=0, counter=0, max=0; //2. for, while -> 이중 while문이 아니라, 2행 while문 -> O(n) whi..
[Java 기본 알고리즘] (2) 정렬 탐색 package Sorting_SearchingBasic; public class Sorting_Searching1 { public static void main(String[] args) { //(1) 뒤에 0을 넣는 방법 -> 3,2,8,5,0,0 //1. ds int[] nums= {0,3,2,0,8,5}; //2. for //array를 앞으로 넘기기 //Index를 구하기 int n=nums.length; //6, 인덱스는 0부터 시작해서 -1를 해야한다. int index=0; //3,2,8,5 for(int i=1; i index++로 index는 0이 아닌 첫번째 순서가 된다. } } //3,2,8,5에 0붙이기 while(index 0,0,3,2,8,5 //5->8->2->3순으로 채우면 ..
[Java 기본 알고리즘] (3) Array package ArrayBasic; import java.util.HashMap; import java.util.Map; public class Array1 { public static void main(String[] args) { Array1 a = new Array1(); int[] nums= {2,8,11,14}; int target = 16; int[] result = a.solve_for(nums, target); for(int i:result) { System.out.println(i+" "); } } //두개 합 //배열에서 두 숫자 값을 더해 타겟값과 같을 경우 두 숫자의 인덱스를 리턴 //각 입력에 정확히 하나의 솔루션이 있다고 가정하고, 동일한 요소를 두 번 사용 불가 //문제 해결 ..
[Java 기본 알고리즘] (1) String package StringBasic; import java.util.HashSet; import java.util.Set; public class String1 { public static void main(String[] args) { String1 a = new String1(); String[] emails = { "test.email+james@coding.com", "test.e.mail+toto.jane@cod.ing.com", "testemail+tom@cod.ing.com"}; System.out.println(a.solve_1(emails)); System.out.println(a.solve_substring(emails)); System.out.println(a.solve_split(e..
[Java] String 메서드 메서드 설명 charAt(i) 특정 문자열의 위치를 가리키는 메서드 String str = "abcd" 라면, a=0번, b=1번, c=2번, d=3번 -> i번째 반환 [str.charAt(i)] toCharArray() 문자열을 char []로 반환 [str.toCharArray()] indexOf() 특정 문자의 위치를 알려주는 메서드 [str.indexOf("a") : 0번] [str.indexOf("찾을 특정 문자", "시작할 위치")] substring() substring (begin, end) : end 앞자리까지 끊는다. [str.substring(0,3)] : abc startsWith(), endWith() 문자열이 특정 문자로 시작하는지 아닌지 반환 [str.startsWith("a..
[Java] Casting (형 변환) 1. 기본형 캐스팅 int a = 1.2345; // 컴파일 에러 int newA = (int)1.2345; // 캐스팅 2. 참조형 캐스팅 -> 상속이나 구현 관계가 있는 객체에서의 캐스팅 클래스-상속받은 클래스 추상클래스-상속받은 클래스 인터페이스-구현 클래스 3. 업캐스팅 / 다운캐스팅 업캐스팅 : 자식클래스의 객체가 부모 클래스의 객체로 캐스팅 -> 자식 클래스에서 오버라이딩되었다면, 업캐스팅된 객체가 자식 객체의 성질을 가진다. -> 업캐스팅된 객체는 자식 개체만 가지고 있는 멤버에는 접근 불가능 다운캐스팅 : 업캐스팅되어 고유의 특성을 잃은 자식 클래스의 객체를 다시 복구 -> 다운캐스팅의 경우 캐스팅할 객체 타입을 객체명앞에 적는다.
[Java] 7. 입출력 프로그래밍 자바 IO 스트림 : 자료의 입출력을 도와주는 중간 매개체 스트림 java.io : 입출력을 위한 패키지 즉 자바의 기본 입출력 프로그래밍 방법 대용량의 데이터를 순차적 처리하는 프로그램에 적합 단방향으로 입력 스트림과 출력 스트림을 각각 사용해야 한다. 스트림의 종류 문자 스트림 바이트 스트림 # 보조 스트림 -> 데이터 전달 방식에 따라 구분 바이트 스트림 바이너리 데이터 입출력 1바이트 단위로 처리 이미지 및 동영상 송수신 할 경우에 적합 주요 클래스 : InputStream, OutputStream 클래스 문자 스트림 텍스트 데이터 입출력 2바이트 단위로 처리 텍스트 및 Json, HTML 데이터 송수신 할 경우에 적합 주요 클래스 : Reader, Writer 클래스 보조 스트림 기존 스트림과 ..
[Java] 클래스변수와 인스턴스 변수 / 가변 인자 / 사칙, 대입 연산 / 비트시프트 연산과 XOR 연산 / 조건문과 반복문 클래스변수와 인스턴스 변수 public class Variables { //멤버 변수, 인스턴스 변수 int num1; //멤버 변수, 클래스 변수 static int num2; public void printName(String name) { String prtMsg=name+" Hello"; System.out.println(prtMsg); } public static void main(String[] args) { //인스턴스 생성 Variables mc=new Variables(); //인스턴스 변수 사용 mc.num1=100; //클래스 변수 사용 Variables.num2=50; //인자로 매개변수에 값을 전달 mc.printName("홍길동"); System.out.printf("%d, %d..

반응형