프로그래머스 코딩테스트 [Java]
가운데 글자 가져오기
💫문제 설명💫
단어 s의 가운데 글자를 반환하는 함수,
solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
💫제한사항💫
s는 길이가 1 이상, 100이하인 스트링입니다.
💫입출력 ex💫
s | return |
---|---|
“abcde” | “c” |
“qwer” | “we” |
문제풀이
class Solution {
public String solution(String s) {
return s.substring((s.length()-1) / 2, s.length() / 2 + 1);
}
}
수박수박수박수박수박수?
💫문제 설명💫
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
💫제한사항💫
n은 길이 10,000이하인 자연수입니다.
💫입출력 ex💫
n | return |
---|---|
3 | “수박수” |
4 | “수박수박” |
문제풀이
class Solution {
public String solution(int n) {
String answer = "";
for(int i=1;i<=n;i++){
answer += i % 2!=0 ? "수" : "박";
}
return answer;
}
}
내적
💫문제 설명💫
길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.
이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
💫제한사항💫
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
💫입출력 ex💫
a | b | result |
---|---|---|
[1,2,3,4] | [-3,-1,0,2] | 3 |
[-1,0,1] | [1,0,-1] | -2 |
문제풀이
class Solution {
public int solution(int[] a, int[] b) {
int answer = 0;
for(int i=0; i < a.length; i++) {
answer += a[i]*b[i];
}
return answer;
}
}
약수의 개수와 덧셈
💫문제 설명💫
두 정수 left와 right가 매개변수로 주어집니다.
left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
💫제한사항💫
1 ≤ left ≤ right ≤ 1,000
💫입출력 ex💫
left | right | result |
---|---|---|
13 | 17 | 43 |
24 | 27 | 52 |
문제풀이
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i=left; i <= right; i++) {
int cnt = 0;
for(int j = 1; j <= i; j++) {
if(i % j == 0) cnt++;
}
if(cnt % 2 == 0) {
answer += i;
} else {
answer -= i;
}
}
return answer;
}
}
문자열 내림차순으로 배치하기
💫문제 설명💫
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
💫제한사항💫
str은 길이 1 이상인 문자열입니다.
💫입출력 ex💫
s | return |
---|---|
“Zbcdefg” | “gfedcbZ” |
문제풀이
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] list = s.split("");
Arrays.sort(list, Collections.reverseOrder());
for(String up : list) {
answer += up;
}
return answer;
}
}
Leave a comment