길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
단, str1의 길이 = str2의 길이
class Solution {
public String solution(String str1, String str2) {
String answer = "";
for(int i=0; i<str1.length(); i++){
answer += str1.substring(i,i+1);
answer += str2.substring(i,i+1);
}
return answer;
}
}
Scanner를 통해서 서로 번갈아가면서 한번씩 등장하는 문자열을 받은 후,
str1과 str2의 길이가 동일하기 때문에, for문을 str1(혹은 str2)의 길이만큼 돌면서 answer에 각각 계속 더해주면 해결된다.
문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
class Solution {
public String solution(String[] arr) {
String answer = "";
answer = String.join("",arr);
return answer;
}
}
Scanner를 통해서 문자들이 담겨있는 배열을 받은 후,
String의 join매서드를 사용해서 arr을 ""으로 합쳐주었다.
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
class Solution {
public String solution(String my_string, int k) {
String answer = "";
answer = my_string.repeat(k);
return answer;
}
}
Scanner를 통해서 반복할 문자열을 받은 후, repeat매서드를 사용해서 문자열을 k번 반복하여 합쳐주었다.
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
class Solution {
public int solution(int a, int b) {
String case1 = ""+a+b;
String case2 = ""+b+a;
if(Integer.parseInt(case1) > Integer.parseInt(case2)){
return Integer.parseInt(case1);
} else {
return Integer.parseInt(case2);
}
}
}
Scanner를 통해서 두 숫자 a,b를 받은 후, case1과 case2라는 string 변수를 선언, ""와 함께 +연산자를 사용해서 두 정수를 붙여서 쓴 값을 저장하였다.
이후, Integer의 parseInt매서드를 사용해서 int형으로 어떤 값이 더 큰지 if문에서 비교하고, 둘중 더 큰 값을 return 해주었다.
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 a b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 a b가 같으면 a ⊕ b를 return 합니다.
class Solution {
public int solution(int a, int b) {
int ab = Integer.parseInt(""+a+b);
if(ab > (2*a*b)){
return ab;
}else{
return 2*a*b;
}
}
}
Scanner를 통해서 두 숫자 a,b를 받은 후, ab라는 int형 변수를 선언하고 a ⊕ b 연산의 결과값을 저장하였다.
이후, if문을 통해서 a ⊕ b와 2 a b 의 값을 비교하고 더 큰값을 return하는 코드를 작성하였다.
꾸준히 했어야했지만,, 갑작스럽게 생기는 일과 예정되어있던 일이 겹치는 바람에 블로그 기록을 하지 못하였다.
주말에는 생활코딩 JAVA1강의를 들었고, 정리한 내용은 다른 글로 업로드 예정이다.
오늘의 알고리즘 끝!