본문 바로가기

전체 글207

[Coding Test Bookmark]다리를 지나는 트럭(java,프로그래머스) 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다.예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다.따라서, 모든 트럭이 다리를 지나려면 최소 8초가 걸립니다.solution 함수의 매개변수로 다리에 올라갈 수 있는 트럭 수 bridge_length, 다리가 견딜 수 있는 무.. 2024. 9. 9.
[Coding Test Bookmark]오픈채팅방(java,프로그래머스) 문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다.신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다."[닉네임]님이 들어왔습니다."채팅방에서 누군가 나가면 다음 메시지가 출력된다."[닉네임]님이 나갔습니다."채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다.채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다.채팅방에서 닉네임을 변경한다.닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된다.예를 들어, 채팅방에 "Muzi"와.. 2024. 9. 9.
[Coding Test Bookmark]더 맵게(java, 프로그래머스) 문제 설명매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요.제한 조건scoville의 길이.. 2024. 9. 7.
[AWS클라우드] Cloud의 기본 "AWS 클라우드 컴퓨팅"은 간단하게 말하자면, 인터넷을 통해 네트워크, 서버, 데이터베이스, 스토리지 등의 컴퓨팅 자원을 사용하고 관리하는 기술입니다. 기존의 물리적 서버를 소유하고 관리하던 방식에서 벗어나, 이제는 온디맨드(On-Demand) 방식으로 필요한 만큼의 자원을 사용할 수 있어 더욱 유연하고 효율적입니다. ※ 온디맨드 : 요청과 동시에 반환 받는 방식.※ 컴퓨팅 : 사용자의 요청을 받아 연산 처리하는 서버.클라우드 컴퓨팅 서비스의 세 가지 모델IaaS (Infrastructure as a Service) :클라우드 제공자가 서버, 스토리지, 네트워크 등의 인프라 자원을 제공합니다. 사용자는 이를 통해 가상 서버를 생성하고 관리할 수 있습니다.대표적인 예시 : Amazon EC2, Micro.. 2024. 9. 6.
[Coding Test] 영어 끝말잇기(Java, 프로그래머스) 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다.이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번.. 2024. 9. 5.
[Coding Test Bookmark] 영어 끝말잇기(Java, 프로그래머스) 문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다.1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 등장했던 단어는 사용할 수 없습니다.한 글자인 단어는 인정되지 않습니다.다음은 3명이 끝말잇기를 하는 상황을 나타냅니다.tank → kick → know → wheel → land → dream → mother → robot → tank위 끝말잇기는 다음과 같이 진행됩니다.1번 사람이 자신의 첫 번째 차례에 tank를 말합니다.2번 사람이 자신의 첫 번째 차례에 kick을 말합니다.. 2024. 9. 5.
[Coding Test Bookmark] 큰 수 만들기(탐욕법)[Java, 프로그래머스] 문제 설명어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다.입출력 예number            k   return "1924.. 2024. 9. 4.
[Coding Test Grammar] 탐욕법 (Java) "탐욕법"(Greedy Algorithm)은 현재 시점에서 가장 최선의 선택을 반복적으로 수행하여 최종적인 최적해를 구하는 알고리즘 설계 기법입니다. 탐욕법의 특징단계적 선택 : 매 단계에서 가장 최선의 선택을 함.직관적 : 탐욕법은 문제를 해결하는 방법이 비교적 단순하고 직관적입니다.탐욕법이 적용되기 위해서는 "탐욕적 선택 속성"과 "최적 부분 구조"를 만족해야 합니다.Tip.Arrys.sort(Object);정렬하는 것을 추천 예제 문제: 동전 거스름돈 문제문제 설명:N원이 있을 때, 500원, 100원, 50원, 10원의 동전을 사용하여 N원을 최소한의 동전 개수로 거슬러주는 프로그램을 작성하라.탐욕법 접근:가장 큰 동전부터 가능한 한 많이 사용예를 들어, N = 1260원이 있다면, 500원짜리 .. 2024. 9. 4.
[Coding Test Grammar] 탐욕법(Greedy)[Java, 프로그래머스] 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.제한.. 2024. 9. 4.
[영문장]생활 답변 영문장 I'm doing well, thank you.잘 지내고 있어요, 고마워요.My name is John.제 이름은 존이에요.Yes, I can help you.네, 도와드릴 수 있어요.It's on Main Street.메인 스트리트에 있어요.It's 3 PM now.지금 오후 3시예요.It costs ten dollars.10달러예요.Sure, here is the menu.물론이죠, 여기 메뉴 있습니다.The pharmacy is around the corner.약국은 모퉁이를 돌면 있어요.I recommend the pasta.파스타를 추천해요.Yes, you may use my phone.네, 제 전화 사용하셔도 돼요.It's sunny today.오늘은 맑아요.I'll be happy to as.. 2024. 9. 4.
[Coding Test]주식가격(java,프로그래머스) 문제 설명  초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한 사항prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.prices의 길이는 2 이상 100,000 이하입니다. 입출력 예prices            return [1, 2, 3, 2, 3]  [4, 3, 1, 1, 0] 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다. 5초 시점의 ₩.. 2024. 9. 3.
[Coding Test]같은 숫자는 싫어(java,프로그래머스) 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.제한 사항 배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 : 0보다 크거나 같고 9.. 2024. 9. 3.