분류 전체보기 16

[쉽게 배우는 자바 프로그래밍] Chapter04_도전 문제(1~3번)

Q) 01_ 프린터의 상태와 동작을 클래스로 작성하고 테스트해 보자. import java.util.Scanner; class Printer { int numOfPapers = 0; public void print(int amount) { System.out.println("남아 있는 용지 수: " + (numOfPapers - amount)); numOfPapers -= amount; } } public class PrinterTest { public static void main(String[] args) { Printer demoPrinter = new Printer(); Scanner scanner = new Scanner(System.in); System.out.print("현재 용지 수를 입력..

[쉽게 배우는 자바 프로그래밍] Chapter03_프로그래밍 문제

Q) 01_키보드로 입력한 정수가 19 이상이면 '성년', 아니면 '미성년'을 춮력하는 프로그램을 if~else 문을 사용해 작성하라. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("정수를 입력하세요 : "); int x = in.nextInt(); if ( x >= 19 ) System.out.println("성년"); else System.out.println("미성년"); } } Q 02_ 키보드로 등수를 입력받아 1등이면 '아주 잘했습니다', 2~3등이면 '잘했습니다', 4~6등이면 '보통입니다..

java: warning: source release 14 requires target release 14 에러

이 에러는 Java 컴파일러에서 발생하는 것으로, 소스 코드를 컴파일할 때 발생한다. 이 경고는 보통 Java 소스 코드의 컴파일 버전과 대상 실행 환경의 버전 간 불일치가 있을때 나타난다. 즉, 이 에러는 소스 코드가 Java 14로 작성되었지만, 대상 실행 환경의 Java버전이 14보다 낮을 경우 발생하며, 소스 코드를 컴파일할 때 대상 실행 환경의 Java버전을 대상으로 설정하거나, 소스 코드를 해당 버전으로 다운그레이드하여 해결할 수 있다. 해결방법 File > Project Structure > Project Setting > Project > Project language level (Project SDK에 맞는 버번으로 변경) 내 경우에는 JDK1.8을 사용했기 때문에 Project lang..

자바_에러 2024.03.06

[쉽게 배우는 자바 프로그래밍] Chapter03_도전 과제

Q) 01_키보드로 입력한 정수의 팩토리얼 값을 구하는 프로그램을 작성해 보자. 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { int result = 1; int n; Scanner in = new Scanner(System.in); System.out.print("펙토리얼 값을 구할 정수 : "); n = in.nextInt(); while(n>0){ result *= n--; } System.out.println(result); import java.util.Scanner; public class Main { public static void main(String[] args) { in..

앞으로의 백엔드 공부 계획(feat. 백엔드 공부법)

현재상황 큰일났다...ㅠ 원래 계획은 3~4월 달까지 정보처리기사 실기에 집중을 하고, 제로베이스 백엔드 과정은 진도가 밀리지 않을 정도로 따라갈 생각이었는데 이 과정이 이렇게 빠른 속도로 진행될 줄 몰랐다.. 내가 생각했던 것보다 하루에 습득해야 되는 분량도 많았다... 게다가 알바도 2개를 하다 보니 결국 정처기도, 제로베이스도 강의가 밀리고, 진도를 못 따라가고 있다.. 왜 강의시간은 짧은데 8시간의 공부시간이 필요하다고 하는지 뼈저리게 깨달았다.. 앞으로의 계획 먼저 알바 < 정처기 < 제로베이스로 우선순위를 정해보았다. 가장 공부에 지장이 있는 알바 1개를 다음 주부터 그만두기로 했으며, 정보처리기사보다 제로베이스에 집중하기로 했다. 정보처리기사는 다시 시험을 볼 수 있고, 공부 기간이 제로베이..

[ZB]끄적끄적 2024.03.01

[쉽게 배우는 자바 프로그래밍] Chapter 02_도전과제

Q) 01 직사각형의 가로와 세로를 키보드로 입력받아 넓이를 구하는 프로그램을 작성해 보자. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); double w, h, area; System.out.print("직사각형의 가로 길이를 입력하세요 : "); w = in.nextDouble(); System.out.print("직사각형의 세로 길이를 입력하세요 : "); h = in.nextDouble(); area = w * h; System.out.println("직사각형의 넓이는 " + area +"입니다"); } } Q) 02 입력된 ..

[자료구조] 힙(Heap)

힙이란? 힙은 힙 속성을 충족하는 완전한 이진 트리 데이터 구조로 우선순위 큐를 위하여 만들어진 자료구조이다. 모든 노드에 대해 해당 하위 노드의 값은 자체 값보다 작거나 같으며, 힙은 가장 작은(또는 가장 큰) 요소가 항상 트리의 루트에 있는 우선순위 큐를 구현하는데 자주 사용된다. 최대 힙(Max Heap)과 최소 힙(Min Heap) 두 가지 종류가 있다. 힙의 종류 최대 힙(max heap) 루트 노드의 값은 모든 하위 노드 중에서 가장 커야하며 왼쪽 및 오른쪽 하위 트리에도 동일한 작업이 수행되야 한다. 최대 힙에 필요한 총 비교 횟수는 트리 높이에 따라 다른데 완전한 이진 트리의 높이는 항상 로그된다. 따라서 시간 복잡도도 O(logn)이다. key(부모노드) >- key(자식노드) 최소 힙(..

자료구조 2024.02.26

[자료구조] 연결리스트

연결리스트란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 자료 요소들을 통합하여 관리함으로써 정보의 축적과 탐색을 효율적으로 실현하기 위해 사용되는 리스트 구조이다. 1) 노드 데이터(data): 리스트의 원소, 즉 데이터 값을 저장하는 곳 링크(link): 다른 노드의 주소 값을 저장하는 장소(포인터) 메모리안에서의 노드의 물리적 순서가 리스트의 논리적 순서와 일치할 필요는 없다. 연결 리스트의 장점 삽입, 삭제가 보다 용이하다 연속된 메모리 공간이 필요없다. 무한개의 자료를 저장할 수 있다. 연결 리스트의 단점 구현이..

자료구조 2024.02.24