목록자바 (29)
-
암호코드https://www.acmicpc.net/problem/2011 언뜻 보면 쉬운 dp문제처럼 보이는데.. 예외로 처리해줘야 할 사항들이 몇가지 있다.나는 그 사항들을 체크하지 않아 엄청 많이 틀렸다. 주어진 입력이 해석 가능한 숫자조합인지 꼭!!! 체크한 뒤 제거해 줘야 한다.체크해줘야할 사항들로는1. 0으로 시작하는 경우2. 0이 연속으로 나오는 경우3. 0 앞에 3~9의 숫자가 나오는 경우4. 그리고!! 출력은 10000000으로 나눈 나머지를 출력할것! 잊지말자. 이 모든 예외들을 처리해 준 후 dp[i] = dp[i-1] + dp[i-2](S.charAt(i) > '0' && (S.charAt(i-1) == '1' || ( S.charAt(i-1) == '2' && S.charAt(i) ..
프로그래밍에서 사용하는 모든 이름은 '식별자(identifier)'라 한다.식별자는 같은 영역 내에서 서로 구분될 수 있어야 한다.식별자를 명명할 때는 다음 규칙을 따라야 한다. 1. 대소문자가 구분되며 길이에 제한이 없다.2. 예약어를 사용해서는 안 된다.3. 숫자로 시작해서는 안된다.4. 특수문자는 '_'와 '$'만을 허용한다.5. 패키지 이름 : 모두 소문자 (예, java.util, java.awt)6. 클래스 이름 : 첫자는 대문자, 나머지는 소문자. 두 단어 이상의 합성일 때는 단어의 첫자는 대문자. 약자일 경우 이니셜은 대문자 (예, StringBuffer, InputStream, URLDecoder)7. 메소드 이름 : 모두 소문자, 두 단어 이상의 합성일 때는 두번째 단어부터 첫자는 대문..
불https://www.acmicpc.net/problem/5427 예외사항 : 13 3* . .@ * .* . . 위와 같은 상황을 처리하지 못했음.12345678910111213141516171819for(int i = 0; i
일곱 난쟁이https://www.acmicpc.net/problem/2309 어렵지 않게 풀 수 있는 문제라고 생각한다.왜냐하면 입력도 9개로 정해져 있고, 조건도 까다롭지 않기 때문이다. [문제 풀이]9개의 입력을 받고 정렬이중for문으로 9개의 합 - 2개의 합 = 100 이 되는 인덱스 2개를 찾는다.출력할 때 그 2개 빼놓고 출력하면 됨.
OOP의 특징캡슐화(Encapsulation) : 데이터와 메서드를 하나의 단위로 묶는 것정보은닉 : 외부에서 객체상태를 바꾸거나 허가되지 않은 동작으로부터 보호추상화(Abstraction) : 외부에서 사용해야 하는 기능은 공개, 제한해야 하는 기능은 은폐다형성(Polymorphism) : 같은 메소드에 대해 클래스에 따라 다른 행위를 하게 되는 특징상속성(Inheritance) - 기존에 있던 클래스를 바탕으로 새로운 클래스를 만들 수 있는 성질 이번엔 이 중 '다형성'에 대해 알아보고자 한다.다형성여러 가지 형태를 가질 수 있는 능력.자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 되어있다.조상 클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 한 기능?!?!출..
오버라이딩같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것상속받은 메서드의 내용을 변경하는 것오버라이딩 하는 메서드 위에 @Override라는 애너테이션을 붙이는게 좋다(안붙여도 됨).이 메서드가 오버라이딩 되는 메서드라는 것을 확실히 명시하는 역할이름, 매개변수, 반환타입이 같아야 한다.접근 제어자는 조상메서드보다 넓은 범위로 변경 가능예외처리는 조상메서드보다 적게 123456789101112class parentClass { void pMethod() {}} class childClass extends parentClass{ void pMethod() {} //오버라이딩 void pMethod(int a) {} //오버로딩 void cMethod() {} void cMethod(int a) ..
오버로딩이란?한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것메서드 이름이 같아야 함매개변수의 개수 또는 타입이 달라야 함 예를 들면System.out.println()같은 것. 오버로딩을 사용함으로써 'println'이라는 한 가지 메서드 이름으로 여러 개의 매개변수를 출력할 수 있다. 오버로딩을 사용하는 이유
자바를 시작하기 전에 :: JVM(Java Virtual Machine) - 1 응용프로그램이 실행되면 JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.그 중 3가지 주요 영역에는 method area, call stack, heap영역이 있다. 1. method area프로그램 실행 중 사용되는 클래스의 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스 데이터를 메서드영역에 저장한다.클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2. heap인스턴스가 생성되는 공간프로그램 실행 중 생성되는 인스턴스 변수들이 생성되는 공간. 3. call stack메서드가 호출되면 수행에 ..
1234567891011121314151617class Airconditioner{ String color; boolean power; int temperature; void power() { power = !power; } void tempUp() { temperature++; } void tempDown() { temperature--; }} class ACTest{ public static void main(String args[]){ Airconditioner air; air = new Airconditioner(); air.temperature = 20; }}Colored by Color Scriptercs위의 예제는 Airconditioner클래스로부터 인스턴스를 생성하고 인스턴스의 속성(te..