프로그래머스 89

[프로그래머스, 입문] 피자 나눠 먹기 (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)란?최대 공약수는 두 수의 공약수 중 가..

[프로그래머스 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); } }