본문 바로가기
  • Jetpack 알아보기

프로그래머스 - JAVA/Level 150

[JAVA] 프로그래머스 Lv.1 : 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 예제: Input: s : "abcde" Output: "c" Input: s : "qwer" Output: "we" 제한 조건: s는 길이가 1 이상, 100이하인 스트링입니다. Solution #1 class Solution { public String solution(String s) { int length = s.length(); return (length % 2 == 0) ? String.valueOf(s.charAt((length - 1) / 2)) + s.charAt((length - 1) / 2 + 1) : String.valueOf(s.charAt(lengt.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 3진법 뒤집기 🔥 월간 코드 챌린지 시즌 1 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 예제: Input: n : 45 Output: 7 Input: n : 125 Output: 229 제한 조건: n은 1 이상 100,000,000 이하인 자연수입니다. Solution #1 class Solution { public int solution(int n) { int answer = 0; StringBuffer buffer = new StringBuffer(); while (n > 0) { buffer.append(n % 3); n /= 3; } String number = buffer.toStri.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 예제: Input: arr : [5, 9, 7, 10], divisor : 5 Output: [5, 10] Input: arr : [3, 2, 6], divisor : 10 Output: [-1] 제한 조건: arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다.array는 길이 1 이상인 배열입니다. Solution #1 import java.util.ArrayList; impor.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 예제: Input: a : 3, b : 5 Output: 12 Input: a : 3, b : 3 Output: 3 제한 조건: a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. Solution #1 class Solution { public long solution(int a, int b) { long answer = 0; for (int i = Math.min(a, b).. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 예제: Input: strings : ["sun", "bed", "car"], n : 1 Output: ["car", "bed", "sun"] Input: strings : ["abce", "abcd", "cdx"], n : 2 Output: ["abcd", "abce", "cdx"] 제한 조건: strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 예제: Input: s : "Zbcdefg" Output: "gfedcbZ" 제한 조건: str은 길이 1 이상인 문자열입니다. Solution #1 import java.util.Arrays; class Solution { public String solution(String s) { char[] array = s.toCharArray(); Arrays.sort(array); return new StringBuilder(new String(array)).reverse().toString(); } }.. 2021. 4. 3.
[JAVA] 프로그래머스 Lv.1 : 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 예제: Input: seoul : ["Jane", "Kim"] Output: "김서방은 1에 있다" 제한 조건: seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다. Solution #1 class Solution { public String solution(String[] seoul) { int result = 0; for (int i.. 2021. 4. 3.
[JAVA] 프로그래머스 Lv.1 : 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 예제: Input: 3 Output: "수박수" Input: 4 Output: "수박수박" 제한 조건: n은 길이 10,000이하인 자연수입니다. Solution #1 class Solution { public String solution(int n) { StringBuilder answer = new StringBuilder(); for (int i = 0; i < n; i++) { answer.append((i % 2 == 0) ? "수" : "박"); } return answer.toString().. 2021. 4. 3.
[JAVA] 프로그래머스 Lv.1 : 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 예제: Input: s : "a234" Output: false Input: s : "1234" Output: true 제한 조건: s는 길이 1 이상, 길이 8 이하인 문자열입니다. Solution #1 class Solution { public boolean solution(String s) { if (s.length() == 4 || s.length() == 6) return s.matches("(^[0-9]*$)"); return false; } } Result #1 💡 정규 표현식을 이용하여 .. 2021. 4. 3.
[JAVA] 프로그래머스 Lv.1 : 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건: s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. Solution #1 class Solution { public int solution(String s) { return Integer.parseInt(s); } } Result #1 💡 String을 int 형으로 형변환하는 간단한 문제이다. Solution #2 class Solution { public int solution(String s) { boolean isMinus = false; int result = 0; for (int i = 0; i.. 2021. 4. 3.