본문 바로가기

반응형

자바

(13)
알고리즘이란? 알고리즘? 주어진 문제를 해결하기 위한 단계적 절차, 방법 알고리즘의 조건 1. 명확성 알고리즘의 각 단계는 애매모호하지 않고 명확해야 함 2. 정확성 알고리즘은 모든 유효한 입력에 대해 올바른 해를 출력해야 함 3. 정지성 알고리즘은 유효한 입력이 주어지면 반드시 유한한 시간 내에 종료되어야 함 한 가지 문제를 해결하는 알고리즘은 다양, 그 중에서 가장 효율적인 최적의 알고리즘을 선택해야 함 알고리즘적 문제 해결 과정 1. 주어진 문제 완벽하게 이해하기 2. 알고리즘 설계하기 알고리즘 설계 기법들을 참고해서 알고리즘 설계하기 3. 정확성 증명하기 설계한 알고리즘이 모든 유효한 입력에 대해 유한한 시간내에 정확한 결과를 만들어낸다는 것을 증명하기 정확성 증명 방식 중 가장 자주 사용되는 기법: 수학적 귀..
[JAVA | 백준 1157 ] 단어 공부 문제 해석 알파벳 대소문자로 된 단어 입력 가장 많이 사용된 알파벳 알아내기 대소문자 구분 없음 출력 가장 많이 사용된 알파벳을 대문자로 출력 가장 많이 사용된 알파벳이 여러개인 경우 ? 출력 내가 생각한 알고리즘 스캐너로 단어 입력 알파벳 개수만큼의 리스트 만들어서 FOR문으로 각 개수 저장 리스트에서 MAX 값 출력 MAX값이 여러개인 경우 ? 출력 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int [] arr = new int[26]; String s = sc.next(); for(int i=0; i
[JAVA | 백준 10809 ] 알파벳 찾기 문제해설 단어 S는 알파벳 소문자로만 이루어진 100글자 미만의 단어. 단어 S가 영어 알파벳 a~z까지를 포함하고 있는지를 순서대로 출력하기. 포함되어 있으면 처음 등장 위치를 출력하고, 포함하고 있지 않으면 -1을 출력하기. 내가 생각한 단계 1. a~z까지 26개의 배열을 만들기. 2. 문자열 S를 입력받고 쪼개서 for문 내 if문을 사용하기 근데 문자열 S를 쪼개는 법을 모른다. indexOf() 함수 특정 문자의 위치를 반환하며, 존재하지 않을 경우 -1 반환 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String S..
[JAVA | 백준 1065] 한수 등차수열 연속된 두 개의 수의 차이가 일정한 수열 1,3,5,7,9.... 한수 어떤 양의 정수 X의 각 자릿수가 등차수열을 이룰 때 X를 한수라고 정의 문제 해설 N입력시 1~N 사이의 수 중 한수의 개수를 출력하라. 단, N은 1000이하의 자연수 일단 N이 1~99사이의 수인 경우 자릿수는 1개 혹은 2개이므로 무조건 한수이다. N이 세자리수인경우에는 N=abc라고 할때, b-c = c-b 이면 N은 한수라고 볼 수 있다. import java.util.Scanner; public class Main { public static int hansu(int N){ int count = 0; if(N
[JAVA | 백준 1110] 더하기 싸이클 0~99사이의 숫자, N이 입력된다. 각 자릿수의 자연수를 더한다. 더해서 나온 값은 일의 자릿수가 된다. 원래 일의 자릿수에 있던 값은 10의 자릿수가 된다. 여기까지가 하나의 싸이클이다. N이 다시 N으로 돌아가기 위한 싸이클의 횟수를 구해야 한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int cycle=0; int newN = N; while(true){ cycle++; N = ((N % 10) * 10) + (((N / 10) + (N % 10)) % 10); if (N==ne..
[JAVA | 백준 2525 ] 오븐 시계 오븐에 오리를 넣은 뒤 요리가 끝나는 시간을 계산하는 문제 입력 14 30 20 출력 14:50 체크포인트 모든 시간을 동일 단위로 바꾼뒤 계산하기! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int hour = sc.nextInt(); int min = sc.nextInt(); int add = sc.nextInt(); int sum = hour*60 + min + add; hour = sum/60; min = sum%60; if(hour >=24) hour = hour-24; System.out.println(hour + "..
JAVA 제어자 제어자 1. 패키지 클래스와 인터페이스의 집합 파일을 효율적으로 관리 클래스 간 이름 충돌 문제 해결 모든 클래스는 하나 이상의 패키지에 포함되어야 한다. 기본적으로는 이름 없는 패키지(unnamed package)에 포함된다. 따라서 기본적으로 모든 클래스와 인터페이스는 같은 패키지에 포함된다. 제어자 클래스와 클래스 멤버 선언시 사용하여 부가적인 의미를 부여하는 키워드 접근 제어자와 기타 제어자로 구분 접근제어자는 한버에 하나만 사용가능 기타 제어자는 경우에 따라 여러개 사용 가능 2. 접근 제어자 객체 지향에서의 정보 은닉: 사용자가 알 필요 없는 정보는 숨겨야 한다. 이를 위해 접근 제어자 사용 2.1 private 외부 공개 X, 외부에서 직접 접근 불가 자바 프로그램은 private 멤버에 직..
get()과 set() get()과 set() 외부에서 변수로 직접 접근을 막아야 한다. private를 사용해서 외부로부터의 접근을 막는다. 대신에 함수를 사용해서 변수에 접근한다. set() 함수를 통해 값을 전달한다. get()함수를 통해 값을 반환(return)한다.

반응형