Java 예외 처리, 컬렉션 프레임워크
·
📌Back-End/Java
예외 (Exception)정상적이지 않은 Case0으로 나누기배열의 인덱스 초과없는 파일 열기등...  예외 처리 (Exception Handling)정상적이지 않은 Case에 대한 적절한 처리 방법try {} catch (예외 case 1) {    } catch (예외 case 2) {}int a = 0;try {    a = 5 / 0;} catch (ArithmeticException e) {    System.out.println(e);}  finally예외 발생 여부와 관계없이 항상 실행되는 부분try {    예외가 발생할 수도 있는 부분;} catch (예외 case 1) {    예외 case1이 발생해야 실행되는 부분;} fina..
Java 입출력
·
📌Back-End/Java
콘솔 입력 입출력 방식 중 콘솔 입력 방법 System.in.read() InputStreamReader reader = BufferedReader br = Scanner 콘솔 출력 입출력 방식 중 콘솔 출력 방법 System.out.println(); System.out.print(); System.out.printf(); 파일 출력 입출력 방식 중 파일로 출력하는 방법 FileOutputStream FileWriter PrintWriter 파일 입력 입출력 방식 중 파일로부터 입력 받는 방법 FileInputStream BufferedReader import java.io.*; import java.util.Arrays; import java.util.Scanner; public class Main4..
코딩테스트 힌트 문제 풀기 (프로그래머스, 백준) 자바
·
📌Zero-base
프로그래머스 짝수는 싫어요 IntStream을 활용해서 문제 해결 range()로 범위를 설정 -> 1부터 n까지 범위 설정을 위해 (1, n + 1) filter()로 홀수만 선택 -> 하나씩 꺼내서 2로 나눈 나머지가 0이 아닌 수 (x -> x % 2 != 0) toArray()로 배열에 담아 return import java.util.stream.IntStream; /** * 프로그래머스 * 짝수는 싫어요 */ public class Solution1 { public int[] solution(int n) { int[] answer = IntStream .range(1, n + 1) // 범위 설정 .filter(x -> x % 2 != 0) // 필터로 홀수 선택 .toArray(); // 배열..
Java 추상 클래스, 인터페이스, 내부 클래스
·
📌Back-End/Java
추상 메소드 (Abstract Method) 자식클래스에서 반드시 오버라이딩 해야하는 메소드 선언만하고 구현 내용 없음 abstract void printUserInfo(); 추상 클래스 (Abstract Class) 하나 이상의 추상 메소드를 포함하는 클래스 반드시 구현해야 하는 부분에 대해 명시적으로 표현 추상 클래스 자체는 객체 생성 불가능 abstract class 추상클래스명 { abstract void printUserInfo(); } class 클래스명 extends 추상클래스명 { } 인터페이스 다중 상속처럼 사용할 수 있는 기능 추상 메소드와 상수만으로 이루어짐 접근제어자 interface 인터페이스명 { public abstract 반환타입 메소드명(매개변수); } class 클래스명 ..
앞으로의 백엔드 개발자가 되기 위한 공부 계획 (feat. 백엔드 공부법) 제로베이스 백엔드스쿨
·
📌Zero-base
2024년 4월 제로베이스 백엔스 스쿨 24기 시작 2024년 4월 1일 제로베이스 백엔드 과정을 시작했다. Part 01. Java 기초 강의를 시작으로 현재 Part 02. 자료구조 / 알고리즘을 진행하고 있다. Part 02. 강의를 듣고 있지만 코딩 테스트는 여전히 어려움을 느낀다. 4주차, 5주차 까지는 Pre 코딩테스트 1,2차를 진행하고 5월 부터는 본격적으로 제로베이스에서 진행하는 실전 코딩테스트가 있다. 5월 전까지 Pre 코딩테스트 문제를 익히고, 개인적으로 프로그래머스나 백준을 통해 코딩테스트 문제들을 더 풀어볼 예정이다. 제로베이스 백엔드 스쿨 강의 현재 진행률 앞으로의 백엔드 공부 계획 부록 강의들과 아직 열리지 않은 강의들도 있어 실제로는 더 많은 강의들이 있어 앞으로도 부지런히..
Java 상속과 다형성
·
📌Back-End/Java
상속 (Inheritance) 기존 클래스에 기능 추가 및 재정의하여 새로운 클래스를 정의 - 부모 클래스 : 상속 대상이 되는 클래스 - 자식 클래스 : 기존 클래스를 상속하는 클래스 부모 클래스의 필드와 메소드가 상속됨 다중 상속은 불가능 private, default 멤버는 자식 클래스에서 접근 불가 super, super() super : 부모 클래스와 자식 클래스의 멤버 이름이 같은 때 구분하는 키워드 super() : 부모 클래스의 생성자 호출 오버라이딩 (Overring) 부모 클래스의 메소드를 자식 클래스에서 재정의 오버라이딩 조건 - 메소드의 선언부는 부모 클래스의 메소드와 동일해야 함 - 반환 타입에 한해, 부모 클래스의 반환 타입으로 변환할 수 있는 타입으로 변경 가능 - 부모 클래스..
백준 24174번 힙 정렬2 제로베이스 자료구조 마지막 주제 : Heap
·
📌Zero-base
자료구조 1 Page 노트 정리 마지막 주제 : Heap 백준 24174번 알고리즘 수업 - 힙 정렬 2 문제 풀이 기존 문제에 주어진 의사코드를 그대로 구현 후 원소 교환을 위한 swap() 메소드를 추가했고, 코드 구현 후 문제 제출했는데 제한 시간 1초를 넘겨 계속 실패를 반복했다. 제한 시간 1초를 위해서 예외를 강제로 발생시키고, 배열 출력 시 미리 StringBuilder에 배열을 담아서 그대로 출력하는 방법으로 제한 시간 문제를 해결했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTo..
Java 다차원 배열, 클래스와 객체
·
📌Back-End/Java
다차원 배열 일차원 배열 int[] myArray1 = {1, 2, 3, 4, 5}; char[] myArray2 = {'a', 'b', 'c', 'd', 'e'}; 다차원 배열 int[][] myArray3 = {{1, 2, 3}, {4, 5, 6}}; int[][][] myArray4 = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}}; 이차원 배열 이차원 배열의 생성 방법 int[][] myArray = {{1, 2, 3}, {4, 5, 6}}; // 생성과 동시에 초기화 int[][] myArray2 = new int[2][3]; // 배열 공간만 확보 System.out.println("[===== 다차원 배열 =====]"); // 이차원 배열 생성과 동시에 초기화 int[]..
백준 1158번 요세푸스 제로베이스 자료구조 5일차 주제 : LinkedList
·
📌Zero-base
자료구조 1 Page 노트 정리 5일차 주제 : LinkedList 백준 1158번 : 요세푸스 문제 풀이 K번째 사람을 제거해야 하는데, index는 0부터 시작이니 K - 1 사람을 제거하는 문제다.예제에서는 K = 3 이니 index가 2인 사람을 계속해서 지워가면 된다.제거할 때마다 list의 size가 계속해서 줄어들기 때문에 index가 2인 사람이 존재하지 않을 수 있다.따라서 변수를 하나 생성하고 (int idx = 0;)idx + K - 1을 list.size()로 나눈 나머지를 이용해 삭제할 사람의 위치를 구해야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..
Java 조건문과 반복문
·
📌Back-End/Java
조건문 = if 조건에 따라 무엇을 실행할지 판단하는 분기 구조 if (조건문 1) { 조건문 1을 만족할 때 실행할 내용; } else if (조건문 2) { 조건문 2를 만족할 때 실행할 내용; } else if (조건문 n) { 조건문 n을 만족할 때 실행할 내용; } else { 그 외의 상황에서 실행할 내용; } 조건문 - switch 입력 값에 따라 어떤 case를 실행할지 판단하는 분기 구조 switch (입력 값) { case 입력 값 1: 실행할 내용; break; case 입력 값 2: 실행할 내용; break; case 입력 값 n: 실행할 내용; break; default: 실행할 내용; break; // 생략 가능 } System.out.println("[===== 조건문 if =..
백준 26008번 해시 해킹 제로베이스 자료구조 4일차 주제 : HashMap
·
📌Zero-base
자료구조 1 Page 노트 정리 4일차 주제 : HashMap 백준 26008번 : 해시 해킹 문제 풀이 문제를 처음보고 이게 무슨 말인지가 첫 느낌이었다. 프로그래밍 지식 보다는 수학적 지식이 필요한 문제였고, 구글링을 하다보니 전부 같은 방식으로 풀었고, 아직까지 정확하게 이해를 하지는 못했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { long answer = 1L; BufferedReader..
Java 연산자
·
📌Back-End/Java
항과 연산자 단항 연산자 : 항이 1개 ex) i++ 이항 연산자 : 항이 2개 ex) a + b 삼항 연산자 : 항이 3개 ex) (3 > 1) ? A : B 대입 연산자 (=) 우측의 데이터를 좌측의 변수에 대입 ex) String subject = "국어"; ex) int age = 50; 부호 연산자 (+, -) 부호를 나타내는 연산자 ex) +1, -1 산술 연산자(+, -, *, /, %) 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 ex) num % 2 증가/감소 연산자 (++, --) 값을 1만큼 늘리거나 1만큼 줄임 ex) i++, i-- ex) count++ 관계 연산자 (>, =, numB ex) age != 10 논리 연산자 (&&, ||, !) 논리식에 대해 참 거짓 판단 결과 값은 판단..
구 일
'분류 전체보기' 카테고리의 글 목록 (6 Page)