JAVA를 잡아라!...
JAVA_[Lv.0] #11~15 (메소드, 문자열, 배열, foreach, 강제형변환, if, 삼항연산) 본문
JAVA/JAVA_연습문제_프로그래머스
JAVA_[Lv.0] #11~15 (메소드, 문자열, 배열, foreach, 강제형변환, if, 삼항연산)
onivv 2023. 11. 25. 22:40문제 출처 : 프로그래머스
#11 문자열 섞기
문제 설명
문자들이 담겨있는 배열 arr 가 주어집니다.
arr 의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
입출력 예
arr result
["a","b","c"] "abc"
소스코드 풀이
class Solution {
public String solution(String str1, String str2) {
String answer = "";
//for 사용 : 정해진 범위만큼 문자를 추출 (단, 2개 매개변수의 문자열 길이가 동일)
for(int i = 0; i < str1.length(); i++){
answer += str1.charAt(i); // charAt으로 문자 추출
answer += str2.charAt(i);
}
return answer;
}
}
#12 문자 리스트를 문자열로 변환하기
문제 설명
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
입출력 예
입력 #1
apple pen
출력 #1
applepen
소스코드 풀이
class Solution {
public String solution(String[] arr) {
String answer = "";
for(int i = 0; i < arr.length; i++){
//arr에 대한 길이를 구하기 위해 length 사용
answer += arr[i];
}
// foreach를 사용해서도 가능!
// for(String a : arr) {
// answer += a;
// }
return answer;
}
}
#13 문자열 곱하기
문제 설명
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
입출력 예
my_string k result
"string" 3 "stringstringstring"
소스코드 풀이
class Solution {
public String solution(String my_string, int k) {
String answer = "";
for(int i = 0; i < k; i++){ //k번 반복해라
answer += my_string;
}
return answer;
}
}
#14 더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
입출력 예
a b result
9 91 991
89 8 898
소스코드 풀이
class Solution {
public int solution(int a, int b) {
int answer = 0;
//"" 문자열에 int를 더하면, 문자열이 리턴
//단, 연산자 우선법칙 때문에 int 앞에 붙여야함
//대소비교를 위해 다시 int로 변환
//String에서 int로 변환하기 위해
//Integer클래스의 parseInt메소드 사용!
//int --> "" + --> String --> parseInt --> int
int num1 = Integer.parseInt("" + a + b);
int num2 = Integer.parseInt("" + b + a);
if(num1 > num2){
answer = num1;
}
else{
answer = num2;
}
return answer;
}
}
#15 두 수의 연산값 비교하기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.
출력 예
a b result
2 91 364
91 2 912
소스코드 풀이
class Solution {
public int solution(int a, int b) {
int answer = 0;
int num1 = Integer.parseInt("" + a + b);
int num2 = 2 * a * b;
answer = num1 > num2? num1 : num2; //삼항연산자 이용
return answer;
}
}
'JAVA > JAVA_연습문제_프로그래머스' 카테고리의 다른 글
JAVA_[Lv.0] #21~25 (equals(), boolean, Math.pow(), foreach, Integer.parseInt()...) (3) | 2023.11.26 |
---|---|
JAVA_[Lv.0] #16~20 (equals(), boolean) (2) | 2023.11.26 |
JAVA_[Lv.0] #6~10 (if문, for문, 문자열 배열, 메소드, substring()) (1) | 2023.11.24 |
JAVA_[Lv.0] #1~5 (if문, for문, Scanner, 형변환, 특수문자 출력...) (2) | 2023.11.22 |
JAVA_[Lv.0] 기초-출력 (0) | 2023.11.22 |