GitHub

https://github.com/Choidongjun0830

자바 30

[프로그래머스] 피자 나눠먹기 1 2 3

피자 나눠 먹기 (1) 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i = n){ answer = i; break; } } return answer; } } 피자 나눠 먹기 (2) 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 ..

Java 2023.10.31

[프로그래머스] 분수의 덧셈

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 나의 풀이 class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { int[] answer = new int[2]; int denom = LCM(denom1, denom2); numer1 = numer1 * (denom / denom1); numer2 = numer2 * (denom / denom2); int nu..

Java 2023.10.30

[Spring] Singleton Pattern

클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그래서 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다. → private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다. 스프링 없이. 싱글톤 패턴을 사용하지 않고 public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때마다 객체를 생성 //-> 메모리 낭비가 심함 //-> 싱글톤 패턴을 통해 해당 객체가 1개만 생성되고, 공유하도록 설계하면 된다. MemberService memberS..

Spring 2023.08.31

[Java] 배열 안 정수 중에서 짝수인 가장 큰 수 구하기

import java.util.List; import java.util.Optional; public class FunctionalProgrammingMagic { public static int findMaxEvenNumber(List numbers) { // Write your code here if(numbers == null) { return 0; } Optional maxEven = numbers.stream() .filter(n -> n % 2 == 0) .max(Integer::compare); return maxEven.orElse(0); } } 'max(Integer.compare)'에서 Optional를 리턴한다. Optional은 배열이 비어있을 경우도 다루기 때문에 numbers에 ..

Java 2023.08.16

[Java] 범위를 주고 그 범위의 수 세제곱 구하기

import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.List; public class FunctionalProgrammingMagic { public static List getCubesOfFirstNNumbers(int n) { // Write your code here return IntStream.range(1,n+1) .map(e -> e * e * e) .boxed() .collect(Collectors.toList()); } } map을 이용하여 세제곱을 구한다. IntStream으로는 배열을 만드는 collect()를 사용할 수 없으므로 Stream으로 만들어주는 boxed()를 사용한다.

Java 2023.08.16
728x90