분류 전체보기 159

[프로그래머스, 입문] 가위 바위 보

목차문제 설명가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.import java.util.stream.Collectors;class Solution { public String solution(String rsp) { return rsp.chars() .mapToObj(c -> { switch (c) { case '2': return "0"; ..

[프로그래머스, 입문] 개미 군단

목차문제 설명개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. class Solution { public int solution(int hp) { int count = hp / 5; ..

[프로그래머스, 입문] 머쓱이보다 키 큰 사람

목차문제 설명머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. import java.util.Arrays;class Solution { public int solution(int[] array, int height) { return (int)Arrays.stream(array).filter(i -> i > height).count(); }}

[프로그래머스, 입문] 중복된 숫자 개수

목차문제 설명정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. 해결법자바8의 스트림 기능을 활용하여 최대한 간결하게 작성을 해보았는데...우선 Arrays.stream(array)는 제공된 정수형 배열 array를 IntStream으로 변환한다. Arrays.stream(array).filter(a -> a == n)은 스트림의 각 요소에 대해 주어진 조건을 만족하는 요소만을 스트림에 생성한다.여기서 a -> a == n은 람다 표현식으로, 각 요소 'a'가 'n'과 같은지 검사를한다. Arrays.stream(array).filter(a -> a == n).count()은 생성된 스트림의 요소 갯..

데이터형과 문자열(4장)

목차데이터형이란우리가 밥을 먹을 때 국그릇, 밥그릇, 접시 등이 있듯이 프로그래밍에서도 변수마다의 접시가 다양하다.예를 들어 정수, 실수, 문자, 불형(Boolean), 문자열이 있다.public class Study { public static void main(String[] args) { int var1 = 100; double var2 = 3.14; char var3 = '자'; boolean var4 = true; String var5 = "Hello!" }} 데이터형의 종류정수 데이터형자바를 사용하 보면 정수형을 사용할 때는 그 정수형의 크기를 고려해야 한다. 예를 들어 사람들의 나이를 입력해야 한다면 0 ~ 120세로 ..

[프로그래머스, 입문] 배열 뒤집기

목차문제 설명정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요사용한 기술 설명1. import java.util.Collections;java.util.Collections 클래스는 Java Collections Framework의 유틸리티 클래스입니다. 이 클래스는 컬렉션을 조작하는 정적 메서드를 제공합니다.reverse(List list) 메서드는 주어진 리스트의 요소들을 역순으로 만듭니다.2. import java.util.List;java.util.List 인터페이스는 컬렉션 프레임워크의 일부로, 순서가 있는 요소의 목록을 나타냅니다. 중복 요소를 허용하며, 요소에 접근할 때 ..

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

목차문제 설명머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 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이 되고, ..