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