본문 바로가기

Algorithm/Programers - Java

(160)
[프로그래머스(Java)] 문자열 정렬하기 (2) / String.toCharArray() Level. 0 문제 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. * 제한사항 - 0 < my_string 길이 < 100 풀이 import java.util.*; class Solution { public String solution(String my_string) { /* String answer = ""; my_string = my_string.toLowerCase(); String[] arr = my_string.split(""); Arrays.sort(arr); for(int i=0; i
[프로그래머스(Java)] 날짜 비교하기 / LocalDate , LocalTime , LocalDateTime Level. 0 문제 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다. 만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요. * 제한사항 - date1의 길이 = date2의 길이 = 3 - 0 ≤ year ≤ 10,000 - 1 ≤ month ≤ 12 - day는 month에 따라 가능한 날짜로 주어집니다. 풀이 1. import java.time.LocalDate; class Solution { public int solution(int[] date1, int[] dat..
[프로그래머스(Java)] 합성수 찾기 / 에라토스테네스의 체 알고리즘 Level. 0 문제 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return 하도록 solution 함수를 완성해 주세요. * 제한사항 - 1 ≤ n ≤ 100 풀이 - 에라토스테네스의 체 알고리즘 class Solution { public int solution(int n) { int answer = 0; int[] tmp = new int[n+1]; for(int i=2; i i % i2 == 0).count() > 2)) .count(); } } IntStream.range(int start, int end) 종료값을 포함하지 않는다. IntStream.rangeClosed(int start, int end) 종료값을 포함한다. ..
[프로그래머스(Java)] 이차원 배열 대각선 순회하기 Level.0 문제 2차원 정수 배열 board와 정수 k가 주어집니다. i + j
[프로그래머스(Java)] 중복된 문자 제거 / stream.distinct(), LinkedHashSet, String.Join(String, Object[]) Level. 0 문제 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성해 주세요. * 제한사항 - 1 ≤ my_string ≤ 110 - my_string은 대문자, 소문자, 공백으로 구성되어 있습니다. - 대문자와 소문자를 구분합니다. - 공백(" ")도 하나의 문자로 구분합니다. 중복된 문자 중 가장 앞에 있는 문자를 남깁니다. 풀이 import java.util.Map; import java.util.HashMap; class Solution { public String solution(String my_string) { String answer = ""; String[] arr..
[프로그래머스(Java)] 문자열 반복해서 출력하기 / String.repeat() Level. 0 문제 문자열 str과 정수 n이 주어집니다.str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요. * 제한사항 - 1 ≤ str의 길이 ≤ 10 - 1 ≤ n ≤ 5 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int n = sc.nextInt(); System.out.print(str.repeat(n)); } } repeat() String 의 메서드로, String 문자열을 주어진 횟수만큼 반복한 값을 리턴한다. https://school.p..
[프로그래머스(Java)] 배열 만들기 5 Level. 0 문제 문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다. 배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요. * 제한사항 - 0 ≤ s < 100 - 1 ≤ l ≤ 8 - 10^(l - 1) ≤ k < 10^l - 1 ≤ intStrs의 길이 ≤ 10,000 - s + l ≤ intStrs의 원소의 길이 ≤ 120 풀이 import java.util.List; import java.util.ArrayList; class Solution { public int[]..
[프로그래머스(Java)] A로 B 만들기 Level. 0 문제 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해 보세요. * 제한사항 - 0 < before의 길이 == after의 길이 < 1,000 - before와 after는 모두 소문자로 이루어져 있습니다. 풀이 import java.util.Map; import java.util.HashMap; class Solution { public int solution(String before, String after) { Map map = new HashMap(); for(int i=0; i