단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
| s | return |
|---|---|
| "abcde" | "c" |
| "qwer" | "we" |
class Solution {
public String solution(String s) {
String answer = "";
int len;
if(s.length() % 2 == 0) {
len = s.length()/2 - 1;
answer = s.substring(len, len+2);
}
else {
len = s.length()/2;
answer = s.substring(len, len+1);
}
return answer;
}
}
문자열의 길이가 짝수이면 (문자열 길이)/2-1을 len에 넣어서 substring() 메소드를 사용해 len부터 len+1까지의 문자열을 answer에 넣어주었다. 반대로 홀수이면 (문자열 길이)/2를 len에 넣어서 len 위치의 한 글자를 answer에 넣어주었다.
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
| n | return |
|---|---|
| 3 | "수박수" |
| 4 | "수박수박" |
class Solution {
public String solution(int n) {
String answer = "";
for(int i = 0; i < n; i++) {
if(i % 2 == 0) answer += "수";
else answer += "박";
}
return answer;
}
}
for문을 사용해 n만큼 반복하게 하여 0부터 시작했을 때, i가 짝수면 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 | 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;
}
}
배열 a와 b의 길이는 같기 때문에 for문의 조건은 a, b 중 어느 배열의 길이여도 상관 없다. 반복문 안에는 문제 설명대로 배열 a와 b의 같은 위치의 원소를 곱하여 answer에 더해주었다.