본문 바로가기
반응형

자바22

자바 Java | 알고리즘 | 배열 ⭕ 자바 Java | 알고리즘 | 배열 배열은 동일한 자료형의 데이터를 일렬로 나열한 자료구조입니다. 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열은 프로그래밍에서 매우 일반적으로 사용되며, 메모리 상에서 연속된 공간에 요소를 저장합니다. ➡️ 배열의 특징 인덱스를 사용하여 값에 바로 접근할 수 있다: 배열은 각 요소마다 고유한 인덱스가 있으므로, 해당 인덱스를 사용하여 배열 내의 요소에 직접 접근할 수 있습니다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다: 배열의 특정 위치에 새로운 값을 삽입하거나 삭제하려면, 해당 위치 이후의 모든 요소를 이동시켜야 합니다. 이는 성능상의 문제를 유발할 수 있습니다. 배열의 크기는 선언할 때 지정할 수 있으며, 변경할 수 없다: 배열을 선언.. 2024. 3. 6.
자바 Java | 알고리즘 | 자료구조(Data Structure) - 배열(Array) 리스트(List) ⭕ 자바 Java | 알고리즘 | 자료구조(Data Structure) - 배열(Array) 리스(List) 두 가지 주요 자료구조인 배열과 리스트는 각각의 특징에 따라 적절한 상황에서 선택되어 사용됩니다. ➡️ 배열(Array) 배열은 연속된 메모리 공간에 값을 저장하는 자료구조입니다. 각 원소는 고유한 인덱스를 가지고 있어 해당 인덱스를 통해 직접 참조할 수 있습니다. int[] numbers = {1, 3, 5, 7, 9}; 배열의 특징 인덱스를 통한 직접 접근: 배열은 각 원소가 고유한 인덱스를 가지므로, 해당 인덱스를 사용하여 빠르게 값을 접근할 수 있습니다. 값의 삽입 및 삭제 어려움: 새로운 값을 삽입하거나 삭제할 때 주변의 값을 이동시켜야 하므로 연산이 복잡합니다. 예를 들어, 두 번째 값.. 2024. 1. 10.
자바 Java | 알고리즘 | 디버깅 ⭕ 자바 Java | 알고리즘 | 디버깅 디버깅은 프로그래밍 과정에서 코드의 논리 오류를 찾아내고 수정하는 중요한 단계입니다. 모든 프로그래머는 실수를 할 수 있으며, 이러한 실수는 코드의 논리 오류로 나타날 수 있습니다. 특히 자바와 같은 언어에서는 디버깅이 더욱 중요한데, 여기에는 몇 가지 핵심적인 이유가 있습니다. 첫째로, 코드 작성 시 실수는 불가피합니다. 논리적인 오류는 문법적인 오류와 달리 컴파일러가 감지하지 못하므로 실행 중에 발견되어야 합니다. 그리고 디버깅을 통해 이러한 오류를 찾아내고 수정할 수 있습니다. 둘째로, 많은 프로그래머들은 문법을 배우는 과정에서 디버깅을 가볍게 여기곤 합니다. 그러나 실제로는 디버깅이 코드 작성 과정에서 필수적인 스킬이며, 특히 코딩테스트를 응시할 때 디버깅.. 2024. 1. 9.
[2023년도 1회] 정보처리기사 정처기 | 실기 기출 | 회차별 정리 ⭕ [2023년도 1회] 정보처리기사 정처기 | 실기 기출 | 회차별 정리 ➡️ 1. [JAVA 코드] 알맞은 출력 값을 작성하시오. class Static { public int instanceVariable = 20; static int staticVariable = 0; } public class Main { public static void main(String[] args) { int localVariable; localVariable = 10; Static.staticVariable = localVariable; Static st = new Static(); System.out.println(Static.staticVariable++); System.out.println(st.staticVar.. 2024. 1. 7.
정보처리기사 정처기 | 실기 6 프로그래밍 언어 활용 | C언어, 자바, 파이썬 | 단원별 정리 ✅ 15. C언어 절차 지향적인 프로그래밍 언어로 컴퓨터가 실행해야 하는 순서대로 프로그램을 작성한다. 다양한 데이터 타입과 연산자를 제공하며, 메모리 관리에 대한 직접적인 제어가 가능하다. 운영체제, 임베디드 시스템, 네트워크, 게임 등 다양한 분야에서 활용한다. 💡 자료형 메모리에 데이터가 저장되는 형식이다. 정수형 char: %c, 1바이트, -128 ~ 127 short: %d, 2바이트, -32,768 ~ 32,767 int: %d, 4바이트, -2,147,483,648 ~ 2,147,483,647 long: 4바이트, -2,147,483,648 ~ 2,147,483,647 long long: 8바이트, -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775.. 2023. 3. 8.
자바 Java | 자료형, 기본형 Primitive Type, 참조형 Reference Type, 형변환 | 매개변수, 논리형, 문자형, 정수형, 실수형 ✅ 기본형 Primitive Type 기본형 변수는 실제 값 data을 저장한다. 기본형의 종류와 크기는 반드시 알아두어야 한다. 논리형 boolean: 1 byte, true와 false 두 가지 값만 표현한다. 문자형 char: 2 byte, 유니코드를 사용한다. 정수형 byte: 1 byte short: 2 byte int: 4 byte, 정수형 기본 long: 8 byte 실수형 float: 4 byte double: 8 byte, 실수형 기본 💡 기본형 매개변수 Read Only 메소드를 호출할 때, 매개변수로 지정한 값을 메소드의 매개변수에 복사하여 넘긴다. 매개변수의 타입이 기본형 일 때, 기본형 값이 복사된다. 메소드의 매개변수를 기본형으로 선언하면, 단순히 저장된 값을 얻는다. d.x의 .. 2023. 2. 15.
자바 Java | 변수 Variable, 상수 Constant | 타입 변환 charAt(0), Integer.parseInt(), Double.parseDouble() | int, long, float, double, char, String ✅ 변수 Variable 변수 Variable는 하나의 값을 저장하는 공간이다. 변수가 필요하다면, 변수를 선언한다. 변수를 선언할 때, 변수의 타입을 선택한다. 💡 숫자 int: 정수 integer를 저장하기 위한 타입 long: 정수 integer를 저장하기 위한 타입, 20억 이상 float: 실수 floating point number를 저장하기 위한 타입, 7자리 double: 실수 floating point number를 저장하기 위한 타입, 15자리 문자 character을 숫자로 변환: '0'을 뺀다. '3' - '0' 문자열 string을 숫자로 변환: Integer.parseInt(), Double.parseDouble()을 사용한다. Integer.parseInt("127") Doub.. 2023. 2. 15.
자바 Java | 화면에 글자 출력하기 | print(), println(), printf() ✅ 출력 화면에 글자를 출력할 때는 print(), println(), printf()을 사용한다. 괄호() 안에 출력하고자 하는 내용을 넣는다. 💡 System.out.print(); 괄호 안의 내용을 출력하고, 줄 바꿈을 하지 않는다. 💡 System.out.println(); 괄호 안의 내용을 출력하고, 줄 바꿈을 한다. class Ex2_1 { public static void main(String args[]) { System.out.println("Hello, world");// 화면에 Hello, world를 출력하고, 줄바꿈을 한다. System.out.print("Hello"); // 화면에 Hello를 출력하고, 줄바꿈을 하지 않는다. System.out.println("World");.. 2023. 2. 15.
자바 Java | 이클립스 Eclipse 단축키 모음, println 단축키 sysout | import 자동 추가, 자동 들여 쓰기, 저장, 실행 ✅ 이클립스 Eclipse 이클립스는 프로그램을 더 빠르고 편리하게 개발할 수 있는 단축키 기능을 제공한다. ✅ 단축키 리스트 💡 자주 사용하는 단축키 전체 선택: ctrl + A 찾기 / 바꾸기: ctrl + F 검색: ctrl + H 저장: ctrl + S 실행: ctrl + F11 import문 자동 추가: ctrl + shift + O 자동 완성: ctrl + space 자동 들여 쓰기: ctrl + i 자동 형식 맞추기: ctrl + shift + F 💡 삭제 단축키 한 줄 삭제: ctrl + D 다음 단어 삭제: ctrl + delete 이전 단어 삭제: ctrl + backspace 💡 이동 단축키 행으로 이동: ctrl + L 소스 탭 간 이동: ctrl + pgup, ctrl + pgdn.. 2023. 2. 15.
자바 JAVA | java.lang.module.findexception 에러 해결 방법 | 간단한 방법, 프로젝트 생성 ✅ java.lang.module.findexception 에러 해결 방법 💡 모듈 module 에러 발생 자바 프로그램을 실행하고 다음과 같은 오류가 발생하였다. Error occurred during initialization of boot layer java.lang.module.FindException: Error reading module: C:\Users\@@@\eclipse-workspace\Exam\bin Caused by: java.lang.module.InvalidModuleDescriptorException: Hello.class found in top-level directory (unnamed package not allowed in module) 모듈 module을 읽는데 에러가.. 2023. 2. 14.
자바 Java | 이클립스 Eclipse 시작하기 | Hello world 출력 ✅ 이클립스 Eclipse 시작하기 Hello world를 출력하는 자바 프로그램을 이클립스 Eclipse로 개발해 본다. 💡 프로젝트 생성 [File] > [New] > [Java Project]를 클릭한다. 프로젝트 이름을 입력한다. [Create module-info.java file]를 해제한다. [Finish]를 클릭한다. 프로젝트가 생성되었다. 💡 클래스 생성 [프로젝트] > [New] > [Class]를 클릭한다. Package: 내용이 없는 것을 확인한다. Name: 클래스 이름을 입력한다. [public static void main(String[] args)]를 클릭한다. 💡 Hello World 출력하기 다음을 입력한다. System.out.println("Hello world"); .. 2023. 2. 14.
자바 Java | 이클립스 Eclipse 초기 설정 | 워크스페이스 Workspace, 뷰 view, 퍼스펙티브 perspective ✅ 이클립스 Eclipse 💡 이클립스 Eclipse 워크스페이스 Workspace 이클립스 Eclipse를 시작한다. 실행하면 작업할 폴더의 위치를 지정하는 대화 상자가 나타난다. 작성하는 모든 자바 프로젝트 폴더가 바로 이 워크스페이스에서 지정한 위치에 생성된다. 이 폴더의 위치는 [file]의 [swith workspace] 메뉴를 이용하여 바꿀 수 있다. 이클립스 설정 파일들은 워크스페이스별로 관리되므로 작업할 위치를 바꾸면 이클립스가 다시 시작된다. 워크스페이스 경로를 입력한 후 [Launch]를 누르고 잠시기다리면 이클립스가 실행된다. 프로젝트 수가 많아지거나 성격이 다른 프로젝트를 저장할 때 새로운 워크스페이스를 만들어서 분리하면 편리하다. 💡 이클립스 Eclipse 설정 이클립스 화면은 여.. 2023. 1. 9.
자바 Java | 이클립스 Eclipse 설치하기 | 자바 개발도구 JDK, JAVA SE 11, 환경변수 설정, 통합 개발 환경 IDE ✅ 이클립스 Eclipse 설치하기 자바 프로그래밍을 위해서는 간단한 편집기만 있어도 개발이 가능하지만, 이클립스와 같은 고급 개발 도구를 활용하면 더욱 편리하고 효율적으로 개발할 수 있다. 이클립스는 자바 프로그래밍을 위한 통합 개발 환경(IDE, Integrated Development Environment)으로, 개발자들이 필요한 다양한 기능들을 제공한다. ✅ 자바 개발 도구 JDK 11 💡 자바 개발 도구 JDK 11 다운로드 자바로 프로그래밍을 하기 위해서는 자바 개발도구 JDK, Java Development Kit를 설치하여야 한다. JDK를 설치하면 자바 가상 머신과 자바 클래스 라이브러리 Java API 등 필요한 프로그램들이 설치된다. 현재 학습하기 위해서는 JDK 8.0 이상의 버전이.. 2023. 1. 9.
자바 Java | JDK와 JRE의 차이: 자바 개발 도구와 실행 환경 ✅ 자바 프로그램을 실행시키기 위한 도구 자바 개발 도구 JDK와 자바 실행 환경 JRE는 모두 자바 프로그램을 실행시키기 위한 도구이다. 자바 언어의 컴파일과 실행을 가능하게 한다. 자바 API(자바 표준 라이브러리)를 포함하여 프로그래밍에 필요한 많은 기능을 제공한다. 자바 애플리케이션을 실행시키기 위해 필요한 자바 가상 머신 JVM을 포함한다. 자바 애플리케이션 개발을 위한 개발 도구들을 포함하고 있습니다. 자바 프로그램을 개발하고 실행시키기 위해서는 자바 개발 도구 JDK와 자바 실행 환경 JRE 중 적어도 하나가 필요하다. 자바 개발 도구 JDK는 자바 실행 환경 JRE를 포함한다. 자바 실행 환경 JRE는 자바 프로그램을 실행시키는 데 필요한 최소한의 도구들만 포함한다. 💡 자바 개발 도구 J.. 2023. 1. 9.
자바 Java | 자바의 역사와 커피에서 영감 받은 이름 유래 ✅ 자바 Java 역사 플랫폼 독립적인 특성과 객체 지향 프로그래밍의 장점, 그리고 자바 가상 머신(Java Virtual Machine)을 통한 메모리 관리 등의 혁신적인 기술로 빠르게 인기를 얻었다. 1991년 썬 마이크로시스템즈(Sun Microsystems)의 제임스 고슬링(James Gosling) 등 개발자들은 가전제품의 셋톱박스를 위해 객체 지향 프로그래밍 언어인 오크(Oak)를 개발한다. 오크(Oak)이란 이름이 이미 상표권 등록되어 있어서 이름을 바꾸게 되었다. 1995년 인터넷이 빠르게 발전하면서 썬 마이크로시스템즈는 오크의 개발 방향을 변경하여 인터넷 환경에 적용할 수 있는 자바(Java)를 발표한다. 웹 브라우저에서 실행되는 애니메이션과 같은 것들을 위한 목적이었다. 2009년: 오.. 2023. 1. 8.
자바 Java | 프로그래밍 언어와 컴파일러: 소스 코드를 기계어로 변환하는 방법 ✅ 프로그래밍 언어 인간이 이해할 수 있는 형태의 명령어를 작성하고, 컴파일러 또는 인터프리터와 같은 도구를 사용하여 기계어로 변환하여 컴퓨터가 이해하고 실행할 수 있는 프로그램을 만드는 도구이다. 컴퓨터는 이진수로 이루어진 기계어를 이해하며, 이를 이용해 프로그램을 실행한다. C, C++, Python, JavaScript, Ruby 등 다양한 언어가 있다. 프로그래머가 복잡한 프로그램을 작성하고 관리할 수 있도록 다양한 기능과 문법을 제공한다. 💡 프로그래밍 언어 분류 프로그래밍 언어는 고급언어, 어셈블리어, 기계어로 크게 분류된다. 고급언어 사람이 이해하기 쉽고 추상화된 개념을 다룬다. 대표적으로 Java, C, Python, JavaScript 등이 있다. 컴파일러나 인터프리터와 같은 도구를 사용.. 2023. 1. 8.
자바 JAVA | 백준 1330번 두 수 비교하기 | 조건문(if-else) 활용 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net ✅ 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 시간 제한: 1 초 메모리 제한: 512 MB 💡 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어 있다. 💡 출력 첫째 줄에 다음 세 가지 중 하나를 출력한다. A가 B보다 큰 경우에는 '>'를 출력한다. A가 B보다 작은 경우에는 ' 2022. 9. 28.
자바 JAVA | 백준 25083번 새싹 | 문자열 출력 방법과 이스케이프 문자 활용 예제 https://www.acmicpc.net/problem/25083 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net ✅ 문제 아래 예제와 같이 새싹을 출력하시오. 시간 제한: 1 초 메모리 제한: 1024 MB 💡 입력 입력은 없다. 💡 출력 새싹을 출력한다. 💡 예제 입력 1 없음. 💡 예제 출력 1 ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | | ✅ 해결 💡 해결 계획 주어진 출력 예제에 따라 새싹 모양을 문자열로 정의한다. 문자열을 줄 단위로 출력하여 새싹을 출력한다. 💡 코드 1 (성공) 시간 복잡도는 O(1)이다. 입력값에 따라 실행 시간에 영향을 받지 않는다. 출력 예제에 맞게 문자열을 정의하고, 문자열을 줄 단위로 출력하여 새싹을 출력한.. 2022. 9. 28.
자바 JAVA | 백준 10172번 개 | 이스케이프 문자 활용하여 문자열 출력하는 방법 https://www.acmicpc.net/problem/10172 2022. 9. 28.
자바 JAVA | 백준 2588번 곱셈 | 연산자를 활용한 세 자리 수 곱셈 계산 프로그램 https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net ✅ 문제 (세 자릿수) × (세 자릿수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2) 위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시오. 시간 제한: 1 초 메모리 제한: 128 MB 💡 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세 자리 자연수가 주어진다. 💡 출력 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 💡 예제.. 2022. 9. 20.
자바 JAVA | 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 | 배열(Array)의 개념과 사용 방법 https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net ✅ 문제 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검은색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올.. 2022. 9. 20.
자바 JAVA | 백준 11659번 구간 합 구하기 4 | 부분 합을 이용한 구간 합 구하기 알고리즘 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net ✅ 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 시간제한: 1초 메모리 제한: 256 MB 💡 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 💡 출력.. 2022. 9. 13.
반응형