분류 전체보기 159

[프로그래머스, 입문] 피자 나눠 먹기(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]..

[프로그래머스 LV.0] 문자열로 변환

목차 #1 문자열로 변환 문제 설명 정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10000 입출력 예 n result 123 "123" 2573 "2573" 입출력 예 설명 입출력 예 #1 123을 문자열로 변환한 "123"을 return합니다. 입출력 예 #2 2573을 문자열로 변환한 "2573"을 return합니다. #2 알고리즘 및 코드 class Solution { public String solution(int n) { return Integer.toString(n); } }

[프로그래머스 LV.0] 두 수의 합

목차 #1 두 수의 합 문제 설명 0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ a의 길이 ≤ 100,000 1 ≤ b의 길이 ≤ 100,000 a와 b는 숫자로만 이루어져 있습니다. a와 b는 정수 0이 아니라면 0으로 시작하지 않습니다. 입출력 예 a b result "582" "734" "1316" "18446744073709551615" "287346502836570928366" "305793246910280479981" "0" "0" 입출력 예 설명 입출력 예 #1 예제 1번의 a, b는 각각 582, 734이고 582 + 734 = 1316입니다. 따라서 "1316"을 return 합니다...

[프로그래머스 LV.0] 0 떼기

목차 #1 0 떼기 문제 설명 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n_str ≤ 10 n_str이 "0"으로만 이루어진 경우는 없습니다. 입출력 예 n_str result "0010" "10" "854020" "854020" 입출력 예 설명 입출력 예 #1 "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다. 입출력 예 #2 "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다. #2 알고리즘 및 코드 class Solution { public String solution(String n_str) {..

[프로그래머스 LV.0] 문자열을 정수로 변환하기

목차 #1 문자열을 정수로 변환하기 문제 설명 숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n_str ≤ 5 n_str은 0부터 9까지의 정수 문자로만 이루어져 있습니다. 입출력 예 n_str result "10" 10 "8542" 8542 입출력 예 설명 입출력 예 #1 "10"을 정수로 바꾸면 10입니다. 입출력 예 #2 "8542"를 정수로 바꾸면 8542입니다. #2 알고리즘 및 코드 class Solution { public int solution(String n_str) { return Integer.parseInt(n_str); } }