[멘토씨리즈] 23강 - 생성자 1. 기본 생성자 - 생성자: 객체 생성 시 호출되어, 변수들을 초기화하는 메서드 (1) 기본 생성자의 구현부와 호출부 - 구현부 : 클래스명() {} - 호출부 : new 클래스명(); (2) 예제 1 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Aclass a = new Aclass(); } } class Aclass{ // 기본생성자 (default 생성자) public Aclass(){ System.out.println("Aclass 기본생성자()"); } } - Aclass 호출 시, new Aclass(); (3) 예제 2 import java.io.*; impo..
[백준] n.4344 - 각 학생 수 별로 평균이 넘는 비율 구하기 1. 문제 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 2. 주요 개념 - float 배열 - String.format() - 리스트 (ArrayList) - list.add, list.clear, list.get(i)... 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; // 비율: 반올림하여 소수점 셋째 자리까지 출력 class Main { public static void main(String[] args) { Scanner s = new Scanner..
[백준] n.1157 - 가장 많이 사용된 알파벳 출력 1. 문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 2. 주요 개념 - Scanner - split() - toUpperCase - equals() 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.nextLine(); str ..
[멘토씨리즈] 22강 - 객체 배열 생성 1. 개념 - 객체 배열 생성법 - 클래스명 객체배열명[ ] = new 클래스명[크기] - ex. Aclass ar[ ] = new Aclass[3] - ** 클래스명(); 을 통해 객체를 반드시 생성해야만 객체 내 필드 접근 가능! 2. 실습 (1) 동작원리 - 객체 배열 생성 (크기가 4) - 각 index 마다 객체 생성 - 값 입력받고 info() 함수를 통해 한 번에 출력! (2) 코드 import java.io.*; import java.util.*; // 객체 배열 생성? // 클래스명 객체배열명[] = new 클래스명[크기] // Aclass ar[] = new Aclass[3]; // * 클래스명();을 통해 객체를 "생성"해야만 객체 내 필드 접근 가능 public class Main ..
[백준] n.10988- 문자열을 거꾸로 뒤집어도 원래 문자열과 동일한지 확인하기 1. 문제 https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 2. 주요 개념 - Scanner - charAt() - 반복문 (for문) - 조건문 (if ~ else문) - continue, break 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; // 팰린드롬: 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어 class Main { public static void main(String[] args) { Scanner s = new Sc..
[백준] n.2444 - 마름모모양 별 찍기 (중앙 정렬, 규칙에 따라) 1. 문제 https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 2. 주요 개념 - StringBuilder - append() - deleteCharAt() - length() - for문 - Scanner 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); StringBuilder star = new StringBuilde..
[멘토씨리즈] 16강 - 카페 주문 프로그램 제작 1. 동작원리 (1) 주문하기: 주문 가능 메뉴 출력 > 메뉴 입력 > 가격 총 금액 누적 > 전체 메뉴 리스트에 저장 > 주문 갯수 한 개 증가 (2) 취소하기: 주문 메뉴 리스트 출력 > 취소 메뉴 입력 > 입력 메뉴를 리스트에서 제거 > 금액 감소 > 주문 갯수 한 개 감소 (3) 결제하기: 결제 총 금액 출력 > 지불 금액 입력 > 금액 확인 > 주문리스트 0원으로 초기화 > 전체 갯수 0개로 초기화 (4) 끝내기: 원할 때 끝내기 2. 코드 import java.io.*; import java.util.*; // scanner, random // 카페 주문 프로그램 알고리즘 public class Main { public static void main(String[] args) { Scanner..
[백준] n.11718 - 입력 값 그대로 출력하기 1. 문제 https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 2. 주요 개념 - scanner - hasNextLine() 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); while(s.hasNextLine()..
[백준] n.5622 - 다이얼에 해당하는 문자 식별&사용 시간 구하기 1. 문제 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 2. 주요 개념 - 스캐너 - split 함수 - 반복문 (for문) - switch ~ case 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String dial; // 전화 거는 대문자 문자열 int total = 0; // 총 시간 dial =..
[백준] n.2908 - 상수를 거꾸로 읽어 크기 비교 후 값 출력 1. 문제 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 주요 개념 - 스캐너 - 1차원 배열 - Integer.parseInt() - 배열.split() - if ~ else 조건문 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(Syst..
[멘토씨리즈 JAVA] 13강 배열 - 로또번호 생성기 1. 동작 원리 - 로또 번호 6개, 보너스 번호 1개를 랜덤하게 추출 - 사용자가 가지고 있는 로또번호 6개, 보너스 번호 1개를 입력받음 - 맞춘 개수: 6개 > 1등 5개 + 보너스 > 2등 5개(보너스 X) > 3등 4개 > 4등 3개 > 5등 0, 1, 2개 > 꽝 2. 코드 import java.io.*; import java.util.*; // scanner, random // 로또 프로그램 알고리즘 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Random random = new Random(); int[] lotto = new int[6]; // 로또번호 저장 ..
[백준] n.1152 - 문자열 속 단어 개수 세기 (공백 유의) 1. 문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 2. 주요 개념 - 스캐너, nextLine() - trim(), split() - isBlank() - arr.length 3. 나의 풀이 (*은 잘 안풀린 부분) import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanne..