프로그래머스 306

[프로그래머스 코딩테스트] 수박수박수박수박수박수?(Java)

문제 설명 길이가 n이고, "수박수박수박수…"와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한사항 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" class Solution { public String solution(int n) { String wm = "수박"; String answer = ""; if (n % 2 == 0) { answer = wm.repeat(n / 2); } else { answer = wm.repeat(n / 2) + "수"; } return answer; } } 문자열 wm을 생성합니다. "수박"이라는 글자..

[프로그래머스 코딩테스트] 소수 찾기(Java)

문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한사항 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 class Solution { public int solution(int n) { int[] arr = new int[n + 1]; for (int i = 2; i

[프로그래머스 코딩테스트] 2016년(Java)

문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a, b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한사항 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE" import java.time.LocalDate; import java.time.DayOfWeek; class Sol..

[프로그래머스 코딩테스트] 영어가 싫어요(Java)

문제 설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 소문자로만 구성되어 있습니다. numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"들이 공백 없이 조합되어 있습니다. 1

[프로그래머스 코딩테스트] 폰켓몬(Java)

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙야 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 ..

[프로그래머스 코딩테스트] 문자열 내림차순으로 배치하기(Java)

문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" import java.util.Arrays; import java.util.Collections; class Solution { public String solution(String s) { String[] str = s.split(""); Arrays.sort(str, Collections.reverseOrder()); String answer = String.join("", s..

[프로그래머스 코딩테스트] 두 개 뽑아서 더하기(Java)

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2, 1, 3, 4, 1] [2, 3, 4, 5, 6, 7] [5, 0, 2, 7] [2, 5, 7, 9, 12] import java.util.HashSet; import java.util.ArrayList; import java.util.Collections; class Solution { public int[] soluti..

[프로그래머스 코딩테스트] 숫자 찾기(Java)

문제 설명 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < num < 1,000,000 0 0) { int digit = num % 10; count++; if (digit == k) { answer = length - count + 1; } num /= 10; } return answer; } } num을 이루는 숫자 중 k가 없다면 -1을 반환해야 하므로, answer를 -1로 초기화했습니다. 숫자의 길이를 세는 length 변수를 만들어줍니다. 이를 위해 Math 클래스의 log 메소드를 이용했습니다. 만약 num이 10이라면 ..

[프로그래머스 코딩테스트] 외계행성의 나이(Java)

문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, …, j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMERS-962식 나이를 return 하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age 0) { int digit = age % 10; age /= 10; sb.append(map.get(digit)); } answer = sb.reverse().toString(); return answer; } } ..