- 3진법 뒤집기2023-11-24 22:01:003진법 뒤집기 문제설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. 따라서 229를 return 해야 합니다. 내 풀이 >> while문을 이용해서 n을 3으로 나눈 나머지 값을 임시 값 temp에 넣어준다. >> 이 값을 StringBuilder 객체 sb에 넣어주고, n은 3으로 나눠주면서 n이 0보다 작거나 같으면 반복문이 끝난다. >> ..
- 23.11.22) TIL - 뉴스피드 프로젝트 1일차2023-11-22 20:29:07사실 어제부터 시작했지만 일이 있어서 참가하지 못했고, 오늘부터 본격적으로 진행했다. 이번 프로젝트에서 내가 맡은 역할은 게시물과 관련된 API를 구현하는 것이다. 이번 프로젝트에서는 혼자 프로젝트를 만들 때와는 다르게 API와 도메인 크게 이렇게 2개의 패키지를 나누어 작업을 진행했다. 이렇게 분리하는 이유는 도메인에서는 DTO 값을 전달하지 않아 의존성을 최대한 줄이고, API에서만 DTO를 전달하는 방식을 사용하여 코드의 유지 보수성을 높일 수 있기 때문이다. 이로 인해 기존에 서비스가 레퍼지토리를 주입하고, 컨트롤러가 서비스를 주입했던 방식과는 다르게 도메인에 있는 레퍼지토리가 서비스에게 주입되고, 도메인에 있는 서비스가 API에 있는 서비스에게 주입되며, 마지막으로 해당 서비스가 컨트롤러에 주입..
- 최대공약수와 최소공배수2023-11-20 22:03:40최대공약수와 최소공배수 문제설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 내 풀이 >> 최대공약수를 구하는 메소드를 만든다. 두 수를 a와 b라고 하면, a를 b로 나누었을 때, 나머지가 0이라면 b가 최대공약수이므로 b를 반환한다. >> 위의 예처럼 a = 12, b = 3이면 12 % 3이 0이기 때문에 3이 최대공약수가 된다. >> 0이 아니면 재귀함수로 a자리에 b..
- 직사각형 별찍기2023-11-20 22:02:31직사각형 별찍기 문제설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한사항 n과 m은 각각 1000 이하인 자연수입니다. 입출력 예 내 풀이 >> 바깥에 있는 반복문은 아래로 *을 찍기 때문에 세로 길이인 m의 크기만큼 *을 찍는다. >> 안쪽에 있는 반복문은 옆으로 *을 찍기 때문에 가로 길이이 n의 크기만큼 *을 찍는다. >> *은 print를 이용하지 않고 println으로 찍으면 *이 아래로 하나씩 찍혀서 직사각형의 별을 만들 수 없다. 또한 안쪽 반복문이 끝나고, 새롭게 println을 찍어서 아래로 다음 *을 찍게한다. import java.util.Scanner; class S..