[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (6~9번 문제풀이) 6. 몫 구하기 class Solution { public int solution(int num1, int num2) { int answer = 0; if((num1 > 0 && num1 0 && num2 0 && num1 0 && num2 = 0 && num1 = 0 && num2 0 && numer1 0 && denom1 0 && numer2 0 && denom2 1; i--) { if(numer % i =.. 프로그래머스 문제풀이/알고리즘 (JAVA) 2023.06.07
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (1~5번 문제풀이) 1. 중복된 숫자 개수 class Solution { public int solution(int[] array, int n) { int answer = 0; for(int i=0; i height) answer++; } return answer; } } int형 변수 count에 array 안에 있는 배열의 원소들을 넘겨받은 뒤 count가 머쓱히 의 키 height보다 클 시에 answer에 1씩 추가해 주고 리턴하는 형식으로 완료하였다. - 제한사항은 아래의 두 수의 차 문제부터 추가해주었다. 3. 두 수의 합 class Solution { public int solution(int num1, int num2) { int answer = 0; answer = num1 + num2; return ans.. 프로그래머스 문제풀이/알고리즘 (JAVA) 2023.06.07
[JAVA] 프로그래머스 알고리즘 문제풀이 - 준비하며 프로그래머스의 알고리즘 문제를 한 문제씩 풀어가며 업로드할 예정이다. 레벨 : 0~5 순서 언어 : java 정렬기준 : 최신순 기준으로 가장 뒤의 문제부터 프로그래머스 문제풀이/알고리즘 (JAVA) 2023.06.07
[JAVA] 개인프로젝트 - 키오스크 프로그램 (스파르타코딩클럽) 프로젝트 이름 : 키오스크 프로그램 프로젝트 인원 : 1명(본인) 프로젝트 기간 : 2일 제공된 목록으로는 필수요구사항, 선택요구사항, 출력화면의 예시가 제공되었다. 요구사항에 나와있는 틀에 맞춰 클래스는 총 4개로 제작하였다. Main.java는 자유적으로 제작하였다. MainMenu.java는 상품명, 상품가격, 상품설명과 다양한 메서드를 제작하였다. FoodMenu.java는 상품의 정보를 저장하고 이름, 가격, 설명등을 리턴해줄 수 있도록 제작하였다. Order.java는 장바구니 역할을 하고, 주문대기번호, 사용자에게 총가격을 알려줄 수 있도록 제작하였다. Main.java Main.java이다. 간단하게 MainMenu 클래스에 대한 인스턴스변수만 선언해준후 MainMenu클래스 안의 show.. 프로젝트 2023.06.05
[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 6 . 객체지향 프로그래밍 I - 연습문제 자료형에 맞춰서 선언만 해주면 되는 간단한 문제이다. class Student{ String name; int ban; int no; int kor; int eng; int math; } 정답코드이다. class Exercise6_2 { public static void main(String args[]) { Student s = new Student(" ",1,1,100,60,76); 홍길동 String str = s.info(); System.out.println(str); } } class Student { (문제) } 클래스안에 알맞은 변수를 선언해주고 info() 메서드를 정의해주는 문제이다. Class Student{ String name; int ban; int no; int kor; int.. Back-End/JAVA 2023.06.02
[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 4 . 조건문과 반복문 조건문 if(조건식){ // 조건식이 참(true)일 때 수행될 문장을 삽입 } 가장 기본적인 조건문이다. if의 뜻대로 만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들을 수행한다.라는 의미로 이해하면 될 것이다. 블록 if(score > 70) { -> 블럭의 시작 System.out.println("합격"); } -> 블럭의 끝 괄호 { }를 이용해서 여러 문장을 하나의 단위로 묶을 수 있다. 이것을 '블록(block)'이라고 한다. 블록은 { 로 시작해서 }로 끝난다. 블록에는 문장의 끝을 의미하는 ' ; '를 붙이지 않는다. if-else문 if(조건식){ // 조건식이 참(true)일 때 수행될 문장 } else { // 조건식이 거짓(false)일 때 수행될 문장 } if문의 변.. Back-End/JAVA 2023.06.01
[JAVA] 자바의 정석(기초편) 공부 - CHAPTER 1 . 자바를 시작하기 전에 자바의 특징 1. 운영체제에 독립적이다. 2. 객체지향 언어 3. 비교적 배우기 쉽다. 4. 자동 메모리 관리(Garbage Collection) 5. 네트워크와 분산처리를 지원한다. 6. 멀티쓰레드를 지원한다. 7. 동적로딩을 지원한다. JVM - Java Virtual Machine 자바를 실행하기 위한 가상 컴퓨터 Java의 속도 일반 애플리케이션 코드는 OS만 거치고 하드웨어로 전달되지만 Java애플리케이션은 JVM을 한번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점이 있다. 하지만 요즘엔 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해 주는 JIT컴파일러와 향상된 최적화 기술이 적용되.. Back-End/JAVA 2023.05.31
[JAVA] 스파르타코딩클럽 JAVA공부(5) - 프로세스와 쓰레드, 우선순위 목표 수업목표는 프로세스, 쓰레드에 관해서 배우고 쓰레드를 다루는법과 자바 8에서 있었던 변화, 스트림 등을 배울 예정이다. 프로세스와 쓰레드의 차이 프로세스는 운영체제로부터 작업을 할당받는 작업의 단위이고, 쓰레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위이다. 싱글쓰레드 프로세스 안에서 하나의 쓰레드만 작동하는 것. 멀티쓰레드 프로세스 안에서 여러 개의 쓰레드가 작동하는 것. 멀티쓰레드의 장점으로는 여러 개의 쓰레드로 작업을 하여 성능이 좋아지고, 스택을 제외한 모든 영역에서 메모리를 공유하기 때문에 자원을 효율적으로 사용할 수 있다는 것이다. 멀티쓰레드의 단점으로는 동기화에 문제가생길수있다. 즉 충돌이 일어날수있고, 교착상태가 발생할수 있다는게 단점이다. Runnable 람다식 public .. Back-End/JAVA 2023.05.30
[JAVA] 스파르타코딩클럽 JAVA공부(4) - 오류 및 예외 목표 수업목표이다. 이번수업에는 예외의 개념, 구조를 이해하고 Generic문법과 Wrapper객체에 대하여 배울 것이다. 오류&예외 오류와 예외의 차이점이다. 우선 오류는 일반적으로 회복이 불가능하다. 오류에 대처하는 법으로는 프로그램이 실행되고 어떠한 경우에 프로그램이 종료되었는지 로그를 체크해서 대응하는 방법이 있다. 예외는 일반적으로 회복이 가능한 문제이고, 컴파일에러와 런타임에러가 있다. 컴파일에러로는 간단히 문법이 틀리는 경우가 많기에 문법만 수정하면 간단하게 처리가 가능하다. 런타임에러는 문법적인 오류는 아니지만 프로그램이 실행도중 마주하는 오류를 뜻한다. try-catch & Finally 예시로 가져온 try-catch와 Finally를 사용한 코드이다. 먼저 try{}에서 위험한 메서드.. Back-End/JAVA 2023.05.26
[JAVA] 스파르타코딩클럽 JAVA공부(2) - 조건문과 반복문, 배열관리 목표 이번수업은 연산자, 조건문, 반복문, 배열등을 익히는 수업이다. Objects.equals 메서드 Objects.equals(좌,우) Objects.equals 메서드는 두 객체를 비교하여 같으면 true, 틀리면 false를 반환해 주는 메서드이다. 이 메서드를 이용해 간단한 가위바위보 프로그램을 제작했다. if 중첩문을 사용하였고, 사용자 A가 가위를 입력하였을 때 B의 입력값에 따라 메시지를 출력해 주는 식으로 제작하였다. 그리고 B의 입력값이 잘못되었을시 사용자에게 알려주도록 설정하였다. 이 구문을 두 번 더 사용하여 모든 경우의 수를 생각하여 제작하였다. int[] numbers = {1, 2, 3, 4, 5}; // int형 배열 numbers 선언 for(int number: numbe.. Back-End/JAVA 2023.05.23