문제 설명머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ babbling의 길이 ≤ 1001 ≤ babbling[i]의 길이 ≤ 15babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.문자열은 알파벳 소문자로만 이루어져 ..
분류 전체보기
반응형
문제 설명정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ n ≤ 100입출력 예 설명입출력 #110 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.입출력 #115 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.제출코드IntStream.rangeClosed() 메서드를 사용해 0부터 n까지의 Stream을 생성합니다.filter를 통해 홀수 값만 필터링하고 Array로 변환합니다.import java.util.stream.IntStream;class Solution { public int[] solution(int n) { ..
문제 설명정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ num_list의 길이 ≤ 1,0000 ≤ num_list의 원소 ≤ 1,000입출력 예 설명입출력 예 #1num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.입출력 예 #2num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.입출력 예 #3num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1,..
문제 설명머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.제한사항- 0 - n / 10 ≤ k - 서비스로 받은 음료수는 모두 마십니다.입출력 예 설명입출력 예 #110인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.입출력 예 #264인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.제출코드class So..
문제 설명정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.제한사항-10,000 ≤ numbers의 원소 ≤ 10,0001 ≤ numbers의 길이 ≤ 1,000입출력 예 설명입출력 예 #1[1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다.입출력 예 #2[1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return합니다.제출코드Arrays 클래스에 stream을 사용하여 for문을 최소하하여 작성하였습니다.import java.util.Arrays;class Solut..
문제 설명첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.제한사항- 0 입출력 예 설명입출력 예 #11 / 2 + 3 / 4 = 5 / 4입니다. 따라서 [5, 4]를 return 합니다.입출력 예 #29 / 2 + 1 / 3 = 29 / 6입니다. 따라서 [29, 6]을 return 합니다.제출코드 각자 다른 분모를 가진 두 분수를 더하려면 통분 작업을 통해 분모를 통일하고 분수를 더합니다.- 분자 = 각 분자에 상대 분수의 분모를 곱하고 더한 값 (a/b, c..
문제 설명각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다.각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.- 예각 : 0 - 직각 : angle = 90- 둔각 : 90 - 평각 : angle = 180제한사항- 0 - angle은 정수입니다.입출력 예 설명입출력 예 #1angle이 70이므로 예각입니다. 따라서 1을 return합니다. 입출력 예 #2angle이 91이므로 둔각입니다. 따라서 3을 return합니다.입출력 예 #3angle이 180이므로 평각입니다. 따라서 4를 return합니다.제출코드class Solutio..
깨끗한 코드와 오류 처리는 확실한 연관성이 있으므로 오류 처리는 상당히 중요합니다.하지만 오류 처리 코드로 인해 프로그램 논리를 이해하지 어려워진다면 깨끗한 코드라 부르기 어렵습니다.이 장에서는 오류를 처리하는 기법과 고려 사항 몇 가지를 소개합니다. 오류 코드보다 예외를 사용하라예외를 지원하지 않는 프로그래밍 언어에서는 오류 플래그를 설정하거나 호출자에게 오류 코드를 반환하는 방법이 전부였기 때문에 호출자의 코드가 복잡해지고 이 단계를 잊어버리기 쉽습니다.예외 처리를 사용한다면 오류 프로그램 논리와 오류 처리 코드가 섞이지 않아 코드가 더 깔끔해집니다.// 예외 처리 미사용public void orderProduct(long productId, int orderCount) { Product pro..
저는 코드를 구현할 때 할 때 단순함과 체크 포인트를 가장 중요하게 생각합니다.체크 포인트란 신경 써야 하는 부분을 말하는데 체크 포인트를 없앨수록 단순함은 올라갈 것입니다. 그럼 어떻게 체크 포인트를 줄이고 단순함을 올릴 것이냐?여러 가지 방법이 있겠지만 가장 기본적인 객체 지향 프로그래밍과 도메인 로직, 비즈니스 로직을 구분 지어 코드를 작성하는 것이라고 생각합니다.(이제부터는 제 아주 주관적인 생각을 정리한 글입니다. 반박 시 여러분들 말씀이 다 맞습니다!) 그럼 객체 지향 프로그래밍이란 무엇일까요?객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호작용을 통해 로직을 구성하..
이전 글(Redis를 사용해 API Response 캐시화하기(with. Spring Boot) - 1)을 보시면 개요와 구현된 클래스를 확인하실 수 있습니다. Redis를 사용해 API Response 캐시화하기(with. Spring Boot) - 1개요실무를 진행하며 개발환경에서 나타나지 않았던 문제들이 실제 운영에서는 많이 발생합니다.특히 개발환경에서 트래픽이 몰리거나 스트레스 테스트를 진행하기에는 많은 어려움들이 있었devbksheen.tistory.com이번 글에는 구현한 코드를 가지고 API에 적용하는 예제를 정리해 보겠습니다.예제 코드CacheAop전 글에서 구현한 어노테이션의 Aop를 구현한 곳입니다.@Aspect@Component@RequiredArgsConstructorpublic c..