👿 문제 👿
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a⊕b 와 b⊕a 중 더 큰 값을 return하는 solution 함수를 완성해주세요.
단, a⊕b 와 b⊕a 가 같다면 a⊕b 를 return 합니다.
[Algorithm]
형변환에 관련된 문제
정수와 문자열의 형태를 바꾸는 메서드 다양하게 활용해보기
1. Integer.toString(Int형) (정수 ➡️ 문자열)
2. String.valueOf(int형) (정수 ➡️ 문자열)
3. Integer.parseInt(string형) (문자열 ➡️정수)
[Code]
// 반복문 사용 (코드 너무 길고 더러워!)
class Solution1 {
public int solution(int a, int b) {
int i = Integer.parseInt(Integer.toString(a) + Integer.toString(b));
int j = Integer.parseInt(String.valueOf(b) + String.valueOf(a));
if(i > j) {
return i;
} else if (j > i) {
return j;
} else {
return i;
}
}
}
// 삼항연산자 사용
class Solution2 {
public int solution(int a, int b) {
int i = Integer.parseInt(Integer.toString(a) + Integer.toString(b));
int j = Integer.parseInt(String.valueOf(b) + String.valueOf(a));
return i >= j ? i : j;
}
}
[+ Plus]
⭐️ String + (value) 결합(Combination)
: String 자료형은 +와 함께 다른 자료형과 합쳐지면 다른 자료형을 String으로 변환시킴 !
➡️ "" + n 을 하면 n이 문자열로 형변환이 됨
[+ 다른 사람 풀이]
문자열과 정수를 + 연산하면 문자열로 변환되는 것을 활용한 코드 !
코드가 더 짧고 깔끔해보인다
class Solution {
public int solution(int a, int b) {
int answer = 0;
int aLong = Integer.parseInt(""+a+b);
int bLong = Integer.parseInt(""+b+a);
answer = aLong > bLong ? aLong : bLong;
return answer;
}
}
'Algorithm Study' 카테고리의 다른 글
[Java Algorithm] 프로그래머스 Lv.0 _ 홀짝에 따라 다른 값 반환하기 (1) | 2024.03.11 |
---|---|
[Java Algorithm] 프로그래머스 Lv.0 _ 두 수의 연산값 비교하기 (2) | 2024.03.08 |
[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 곱하기 (0) | 2024.03.08 |
[Java Algorithm] 프로그래머스 Lv.0 _ 문자 리스트를 문자열로 변환하기 (0) | 2024.03.07 |
[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 섞기 (0) | 2024.03.07 |