본문 바로가기

전체 글

(201)
[JAVA][Level2]PROGRAMMERS 큰 수 만들기 탐욕법을 이용해서 문제를 해결하는 문제 큰 수 만들기 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한사항 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 n..
알고리즘 1주차 알고리즘 문제를 풀 때 해당 사용해야 하는 알고리즘이 정해저 있는 부분들이 있었는데 이 부분을 해당 알고리즘을 사용하면 쉽고 빠르게 풀 수 있는 방법인 것이고 다른 방식을 찾아서 풀 수 있어 코딩 테스트에서 기발한 방식으로 풀면 좋다고 생각을 했었는데, 멘토님과 이야기를 해보니 코딩 테스트에서 문제를 냈을 때 문제를 보고 문제가 어떤 유형의 문제인지 파악을 하고 적합한 알고리즘을 떠올려 문제를 푸는 것이 중요하다고 말씀을 주셔서 알고리즘을 대처하는 방법을 조금 다르게 생각을 해야겠다. 또한, 코딩 테스트에서 문제를 풀 수 있는지만 보는게 아니라 코드를 어떻게 구성하는지 변수명은 어떻게 사용하는지 등의 코드를 작성하는 습관이나 좋은 코드로 작성을 하는지도 확인을 하는 부분이라고 말씀을 주셔서 코드를 작성하..
[JAVA][Level3]PROGRAMMERS 디스크 컨트롤러 힙을 이용해서 문제를 해결하는 문제 디스크 컨트롤러 문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 ..
[JAVA][Level2]PROGRAMMERS 가장 큰 수 정렬을 이용해서 문제를 해결하는 문제 가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출..
[JAVA][Level2]PROGRAMMERS 더 맵게 힙을 이용해서 문제를 해결하는 문제 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2 Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution ..
[JAVA][Level2]PROGRAMMERS 다리를 지나는 트럭 큐을 이용해서 문제를 해결하는 문제 다리를 지나는 트럭 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [ 7, 4, 5, 6 ] 1~2 [] [7..
커리어톤 부스팅클럽 - 알고리즘 1일차 문제풀이를 매일 혼자서 하고 있었는데, 커리어톤 부스팅클럽을 하면서 다른 사람들과 팀으로 되어 문제를 풀고 문제에 대한 이야기를 하니깐 확실히 더 좋은 느낌이 있었다. 혼자 풀었을 때는 나의 생각만 알고 추가적으로 생각해 볼 수 있는 것도 다른 사람의 코드만 보고 유추하는 정도로 다른 방향을 생각해 보는 게 다이지만 같이 토론 처럼하면서 어떤 부분에서 어떤 생각을 통해서 코드를 작성했는지를 세세하게 의견을 나눌 수 있어 기존의 코드의 부족한 점을 찾을 수 있고 개선할 수 있어 좋았다.
주로 사용하는 SQL문 SELECT SELECT 찾을 컬럼들 FROM 테이블명 WHERE 조건 [ ORDER BY 정렬기준 컬럼명 ( 내림차순 DESC 오름차순 ASC ) ] 마지막엔 꼭 세미콜론으로 마무리 하기 - 개수 제한 select * from ( SELECT name from animal_ins order by datetime asc ) where rownum