목록정렬 (47)
기록방
👉 문제링크 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수를 입력받고, 그 중에 2개의 합이 m이 되는 경우의 수를 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[..
👉 문제링크 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net 🔸 문제 분석 🔸 문자를 3개로 나눠서 뒤집고 합쳤을때 사전순으로 가장 앞에 오는 경우를 찾는다. 브루트포스 알고리즘이다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); int len = s.length(); String ans..
👉 문제링크 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net 🔸 문제 분석 🔸 입력받은 리스트의 원소로 만들 수 있는 삼각 수열의 최대 길이를 출력한다. 그리디적인 관점과 브루트포스의 접근이 모두 필요하다. 입력받은 리스트를 오름차순 정렬했을때, arr[i] + arr[i+1] > arr[n] 을 만족하면 i부터 n 사이의 모든 수들도 삼각관계이다. (그리디) 가장 앞이나 가장 뒤를 빼가며 가장 긴 부분 삼각 수열을 찾는다. (브루트포스..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 입력받은 수로 나뉘는 배열의 원소를 다시 배열에 담고 오름차순 정렬 후 반환한다. 🔸 코드 🔸 import java.util.ArrayList; import java.util.Collections; import java.util.List; class Solution { public int[] solution(int[] arr, int divisor) { List array = new ArrayList(); for (int i : arr){ if(i % divisor == 0) a..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 문자열 리스트와 n을 입력받는다. n자리 문자로 오름차순 정렬한다. 만약 n자리의 문자가 같다면 문자열을 사전식 정렬한다. 🔸 코드 🔸 class Solution { public String[] solution(String[] strings, int n) { int len = strings.length; for (int i = 0; i string..