Light Blue Pointer
본문 바로가기

분류 전체보기307

[백준] 다음 순열 문제 주소https://www.acmicpc.net/problem/10972문제 설명1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다.1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1입력첫째 줄에 N(1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄에 순열이 주어진다.출력첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다.예제 입력 141 2 3 4예제 출력 11 .. 2024. 6. 21.
한 시간 후 만료되는 초대 링크 개발기 : DB 구성에 대한 고민 디스코드 클론코딩 서비스를 개발하면서채팅방 입장 링크를 발급해준 후 한시간 후 만료시키고만료되지 않은 코드라면 참여가 가능하게 해야하는 기능을 개발해야했다 Key:Value 형태로 간단하게 저장할 수 있을 것 같고 만료되는 기능도 TTL로 하기 쉬운 Redis를 쓰기로 했는데, 코드 발급 시에는 채팅방id, userId -> 코드 이렇게 접근해야 했고코드로 참여 시에는 코드 -> 채팅방 id 이렇게 접근해야 했다 그러나 Redis는 Key로 Value를 찾는 것은 효율적인 반면, Value로 Key를 찾는 것은 효율적이지 않아서처음에는 채팅방id, userId -> 코드, 코드 -> 채팅방 id 이렇게 DB를 두개로 나눠서 저장했다  @Serviceclass ChatRoomService( private.. 2024. 6. 20.
Service에서 다른 Service 를 의존하게 하기 채팅방 기능을 개발할 때 ChatRoomService에서 좀 동떨어진 Invitation 관련 기능들을 많이 이용하게 되었는데그게 ChatRoomService에 있으면 좀 의미가 맞지 않는 것 같아서 모두 InvitationRepository로 분리해서 코드를 구축했다@Serviceclass ChatRoomService( private val chatRoomRepository: ChatRoomRepository, private val invitationRepository: InvitationRepository,) {fun getChatRoomInvitation( chatRoomId: String, userId: String, ): InvitationResponse { verifyCh.. 2024. 6. 20.
[프로그래머스] 가장 큰 정사각형 찾기 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.)예를 들어1 2 3 40111111111110010가 있다면 가장 큰 정사각형은1 2 3 401111111111100.. 2024. 6. 19.
[백준] 크게 만들기 문제 주소https://www.acmicpc.net/problem/2812  문제 설명N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다.출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다.예제 입력 14 21924예제 출력 194예제 입력 27 31231234예제 출력 23234예제 입력 310 44177252841예제 출력 3775841  제출 코드 1import java.io.*;import java.util.*;public class Main { static char[] number; .. 2024. 6. 16.
[프로그래머스] 124나라의 숫자 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.124 나라에는 자연수만 존재합니다.124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.10진법 124 나라 10진법 124 나라1161422721348224119245121041자연수 n이 매개변수.. 2024. 6. 3.
[프로그래머스] 파일명 정렬 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다.저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다.버전 번호 외에도 숫자가.. 2024. 6. 3.
[프로그래머스] 프렌즈4블록 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록".같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다.이거 2048같은 거네만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2.. 2024. 6. 3.
[프로그래머스] 메뉴 리뉴얼 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다.기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성.. 2024. 6. 3.