Contents
문제 풀기

문제 풀기
class Solution {
public int solution(int a, int b) {
int ab = Integer.parseInt("" + a + b);
int ab2 = 2 * a * b;
if (ab == ab2) return ab;
int answer = Math.max(ab, ab2);
return answer;
}
}
라인별 설명
int ab = Integer.parseInt("" + a + b);
"" + a
: 숫자a
를 문자열로 변환.
- 이어서
+ b
→"a" + "b"
형태의 문자열 생성.
- 예: a=12, b=3 →
"12" + "3"
→"123"
.
Integer.parseInt("123")
→ 정수 123.
- 즉, a 뒤에 b를 이어붙인 정수.
int ab2 = 2 * a * b;
a
와b
를 곱하고 그 결과에 2를 곱함.
- 예: a=12, b=3 →
2 * 12 * 3 = 72
.
- 즉, 2 × a × b.
if (ab == ab2) return ab;
- 두 값이 같다면, ab를 그대로 반환.
- 이 조건은 특별한 경우에만 성립하므로, 동일할 때 바로 반환하는 조기 종료(early return) 패턴.
int answer = Math.max(ab, ab2);
return answer;
- 같지 않다면 두 값 중 더 큰 값을 선택.
Math.max()
는 두 수 중 더 큰 값을 반환.
Share article