극동대학교\AI컴퓨터공학과\JAVA 102

[프로그래머스, 입문] 아이스 아메리카노

목차문제 설명머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. class Solution { public int[] solution(int money) { return new int[]{money / 5500, money % 5500}; }}머쓱이가 가진돈이 5,500원이라면 1잔, 15000원이면 2잔이다. 머쓱이가 가진돈 money에 5500을 나누어보면 어떻게 될가?10000(money) / 5500 = 몫1, 나머지 450015..

[프로그래머스, 입문] 옷가게 할인 받기

목차문제 설명머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 인터페이스인터페이스는 다중 상속을 하기 위해 사용하는데 추상 클래스와 비슷한 개념이지만 더 제한적이라는 특징이있다.추상 클래스는 속성, 일반 메서드, 생성자, 추상 메서드 등 모두 가질 수 있지만 인터페이스는 추상 메서드만 가질 수있다.또한 인터페이스의 경우 속성 앞에 static final(상수로 취급)을 붙여야한다.해결 방법구매 가격이 50만원이라면 50만원에 0.8을 곱하면 할인된 가격이 나온다.구매 가격이 30만원이라면 30만원에 0.9를 곱하면 할..

[프로그래머스, 입문] 피자 나눠 먹기 (3)

목차문제 설명머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 해결 방법1. 6명이 6조각으로 자른 피자를 한 조각 이상씩 먹으려면 6 / 1 = 1이므로 최소 1판이 필요.(6 + 6 - 1 ) / 6 = 12. 8명이 4조각으로 자른 피자를 한 조각 이상 씩 먹으려면 8 / 4 = 2 이므로 최소 2판이 필요.(8 + 4 - 1) / 4 = 23. 12명이 8조각으로 자른 피자를 한 조각 이상씩 먹으려면  12 / 8  = 1.5 이므로 올림하여 최..

[프로그래머스, 입문] 피자 나눠 먹기(2)

목차문제 설명머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.해결 방법필요한 피자의 수는 n명을 6조각으로 나누었을 때 남김없이 나누어지는 최소 피자의 수를 찾는 것이다.피자는 한 판에 6조각.nn명이 모두 같은 수의 피자 조각을 먹으려면, nn과 6의 최소공배수(LCM)를 구한다다.LCM을 6으로 나누어 필요한 피자 판 수를 계산한다.예시6명의 경우: 6명을 모두 같은 수의 피자 조각으로 나누기 위해 최소 한 판이 필요.9명의 경우: 9명과 6의 최소공배수를 구하면 18이 되고, ..

[프로그래머스, 입문] 피자 나눠 먹기(1)

문제 설명머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.해결법1명이라면 피자 한 판이 필요하다. (1조각)2명이라도 피자 한 판이면 충분하다. (2조각)7명이라면 피자 한 판으로 충분하다. (7조각)8명이라면 피자 두 판이 필요하다. (8조각, 첫 번째 판에서 7조각 + 두 번째 판에서 1조각)따라서 필요한 피자의 수는 n을 7로 나눈 몫에 1을 더한 값이 된다. (만약 나머지가 있다면)abstract class Pizza { private int n; abstract int getPizza(int n);}class Solu..

[프로그래머스, 입문] 배열 두배 만들기

목차#배열 두배 만들기정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.추상 클래스 추상 클래스는 객체로 만들 수 없는 클래스이다. 따라서 서브 클래스에 상속한 후 객체를 만들어 사용한다.인터페이스나 추상 메서드의 개념을 이해하기는 쉽지 않다. 추상메소드와 관련된 정보는 많이 있지만.. 이것이 어디에 쓰기위해 존재하는지에 대해서 명확하게 정리되어 있지 않으면 이미 만들어져 있는 추상메소드를 코딩은 하지만 직접 클래스를 만들면서 추상 메소드가 가진 목적을 발휘하는 그런 클래스를 디자인하고 만들어 쓰는데까지는 가지 못하였다.  그러면 이러한 추상 클래스를 왜 사용하는가?우리가 사용하는 운영체제를 보면 ..

[프로그래머스, LV.0] 분수의 덧셈

목차#1 분수의 덧셈첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 이번에는 객체지향의 개념을 제대로 이해하기 위해 클래스를 도입해보았다.개념기약 분수란?기약 분수는 분자와 분모의 최대 공약수가 1인 분수를 말한다. 즉, 더 이상 약분할 수 없는 상태의 분수이다. 예를 들어, 분수 2/4는 1/2로 약분될 수 있기 때문에 기약 분수가 아니다. 그러나 1/2는 더 이상 약분할 수 없으므로 기약 분수이다. 최대 공약수(GCD)란?최대 공약수는 두 수의 공약수 중 가..

연산자 (2장)

목차산술 연산자기본 산술 연산자산술 연산자사용 예설명+더하기a = 5 + 35와 3을 더한 값을 a에 대입-빼기a = 5 - 35와 3을 뺀 값을 a에 대입*곱하기a = 5 * 35와 3을 곱한 값을 a에 대입/나누기a = 5 / 35와 3을 나눈 값을 a에 대입%나머지a = 5 % 35와 3을 나누고 생긴 나머지 값을 a에 대입산술 연산자의 우선순위public class Study { public static void main(String[] args) { int a = 3, b = 4, c = 5; System.out.println(a + b - c); System.out.println(a - c + b); System.out.println(-c..

변수(1장)

목차변수변수는 값을 저장하는 메모리 공간이다. 쉽게 비유하자면 음식을 담는 그릇이라고 할 수 있다.예를 들어 100과 200이 담겨 있는 그릇은 a 그릇과 b 그릇이라고 보면 된다.public class Study { public static void main(String[] args) { int a = 100; int b = 200; } }그러면 두 그릇의 음식을 하나의 그릇에 합친다고 하자. 새로운 그릇(c)이 필요하다.public class Study { public static void main(String[] args) { int a = 100; int b = 200; int c = a + b; }}그렇게 ..

[프로그래머스 LV.0] 배열의 원소 삭제하기

목차 #1 배열의 원소 삭제하기 문제 설명 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 100 1 ≤ arr의 원소 ≤ 1,000 arr의 원소는 모두 서로 다릅니다. 1 ≤ delete_list의 길이 ≤ 100 1 ≤ delete_list의 원소 ≤ 1,000 delete_list의 원소는 모두 서로 다릅니다. 입출력 예 arr delete_list result [293, 1000, 395, 678, 94] [94, 777, 104, 1000, 1, 12] [293, 395, 678]..