문제

정답
class Solution {
public int solution(int a, int b) {
String ab = String.valueOf(a) + String.valueOf(b);
String ba = String.valueOf(b) + String.valueOf(a);
if(Integer.parseInt(ab) > Integer.parseInt(ba)) {
return Integer.parseInt(ab);
} else {
return Integer.parseInt(ba);
}
}
}
개념설명
1. 클래스 선언
class Solution {
✔️ 의미
- solution이라는 클래스 정의
2. 메서드 선언
public int solution(int a, int b) {
✔️ 의미
- 정수 a, b를 받아서 두 수를 서로 다른 순서로 이어 붙인 값 중 큰 수를 반환하는 메서드
| 요소 | 의미 |
| public | 외부 접근 가능 |
| int | 반환 타입 (정수) |
| solution | 메서드 이름 |
| int a | 첫 번째 정수 |
| int b | 두 번째 정수 |
3. 정수 → 문자열 변환 (a → String)
String ab = String.valueOf(a) + String.valueOf(b);
✔️ 의미
- 정수 a와 b를 문자열로 바꾼 뒤 이어 붙임
- 결과를 문자열 ab에 저장
✔️ String.valueOf() 설명
String.valueOf(값)
- 어떤 타입이든 문자열로 변환
- 정수 → 문자열로 바꿀 때 자주 사용
4. 반대 순서 문자열 만들기
String ba = String.valueOf(b) + String.valueOf(a);
✔️ 의미
- 이번에는 b → a 순서로 문자열 연결
- "ba" 형태의 문자열 생성
5. if문 시작 (조건 비교)
if(Integer.parseInt(ab) > Integer.parseInt(ba)) {
✔️ 의미
- 문자열 ab와 ba를 정수로 변환한 뒤 크기 비교
6. Integer.parseInt() 설명
Integer.parseInt("문자열")
- 문자열을 정수(int)로 변환
- 문자열 안은 숫자만 있어야 함
7. 조건식 전체 해석
Integer.parseInt(ab) > Integer.parseInt(ba)
✔️ 의미
- "ab"를 숫자로 바꾼 값이
- "ba"를 숫자로 바꾼 값보다 크면 true
✔️ 예시
ab = "123"
ba = "321"
123 > 321 → false
8. if문 참일 때 실행
return Integer.parseInt(ab);
✔️ 의미
- ab가 더 크면
- ab를 정수로 변환해서 반환
- 메서드 즉시 종료
9. else문 실행
} else {
return Integer.parseInt(ba);
}
✔️ 의미
- ab가 크지 않으면 (작거나 같으면)
- ba를 정수로 변환해서 반환
- 같은 경우도 else로 처리됨
10. 메서드 / 클래스 종료
}
}
🔚 전체 실행 흐름 요약
- 정수 a, b 입력
- a+b, b+a 형태의 문자열 생성
- 문자열을 정수로 변환
- 두 값 비교
- 더 큰 값을 반환
💡 핵심 포인트 정리
| 문법 | 의미 |
| String.valueOf() | 값 → 문자열 |
| + | 문자열 연결 |
| Integer.parseInt() | 문자열 → 정수 |
| if / else | 조건 분기 |
| return | 값 반환 |
⚠️ 주의사항
❌ 불필요한 중복 변환
현재 코드에서는
Integer.parseInt(ab)
Integer.parseInt(ba)
를 여러 번 호출
✔️ 개선 가능
int abNum = Integer.parseInt(ab);
int baNum = Integer.parseInt(ba);
- 이 코드는 두 정수를 문자열로 이어 붙인 두 경우를 비교하여 더 큰 수를 반환하는 로직이다.
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
| [Java] 프로그래머스 코딩테스트 연습 / n의 배수 (0) | 2026.01.24 |
|---|---|
| [Java] 프로그래머스 코딩테스트 연습 / 두 수의 연산값 비교하기 (0) | 2026.01.24 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 곱하기 (0) | 2026.01.22 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자 리스트를 문자열로 변환하기 (0) | 2026.01.21 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 섞기 (0) | 2026.01.20 |