문제


정답
class Solution {
public int solution(int a, int b) {
int plusCase = integer.parseInt(String.valueOf(a) + String.valueOf(b));
int multiplyCase = 2 * a * b;
return plusCase > multiplyCase ? pluseCase : multiplyCase;
}
}
개념 설명
1. Integer.parseInt(...)
Integer.parseInt(String)
✔️ 역할
- 문자열(String)을 정수(int)로 변환해주는 매서드
- 반환 타입은 int(기본형)
✔️ 왜 필요한가?
자바에서는 문자열 "12"와 숫자 12는 완전히 다른 타입이라 연산(비교, 덧셈 등)을 하려면 숫자로 변환해야 함.
✔️ 예시
int x = Integer.parseInt("123"); // x = 123
❌ 숫자가 아닌 문자열이면 오류 발생
Integer.parseInt("abc"); // NumberFormatException
2. String.valueOf(a)
String.valueOf(int)
✔️ 역할
- 숫자 → 문자열(String)으로 변환
- 어떤 타입이 와도 Stirng으로 바꿔줌
✔️ 예시
String s = String.valueOf(10); // "10"
즉,
String.valueOf(a)
는 a라는 정수를 "a" 형태의 문자열로 바꾼다.
3. 문자열 덧셈 (+ 연산자)
String.valueOf(a) + String.valueOf(b)
✔️ 여기서 +는?
- 산술 덧셈 ❌
- 문자열 연결(concatenation) ⭕
✔️ 동작 예시
a = 12
b = 34
String.valueOf(a) = "12"
String.valueOf(b) = "34"
String.valueOf(a) + String.valueOf(b) = "1234"
4. 전체 첫 줄 해석
int plusCase = Integer.parseInt(String.value(a) + String.value(b));
- a → 문자열
- b → 문자열
- 두 문자열을 이어 붙임
- 다시 숫자로 변환
- int 변수에 저장
✔️ 실제 예시
a = 9, b = 1
"9" + "1" = "91"
Integer.parseInt("91") = 91
plusCase = 91
5. int multiplyCase = 2 * a * b;
✔️ 역할
- 정수 곱셈
- 연산자 우선순위에 따라 왼쪽부터 계산
✔️ 계산 순서
2 * a * b
→ (2 * a) * b
6. 삼항 연산자 (조건 연산자)
return plusCase > multiplyCase ? plusCase : multiplyCase;
✔️ 기본 구조
조건식 > 참일 때 값 : 거짓일 때 값
✔️ 이 코드의 의미
pluseCase가 multiplyCase보다 크면
→ pluseCase 반환
아니면
→ multiplyCase 반환
✔️ if문으로 바꾸려면?
if (pluseCase > multiplyCase) {
return plusCase;
} else {
return multiplyCase;
}
7. 비교 연산자 >
plusCase > multiplyCase
✔️ 역할
- 두 정수를 비교
- 결과는 boolean (true / false)
🔚 전체 코드 한 줄 씩 요약
class Solution { // Soution이라는 클래스 선언
public int solution(int a, int b) { // 외부에서 호출 가능한 메서드, 정수 두 개 입력 → 정수 하나 반환
int plusCase = Integer.parseInt(String.valueOf(a) + String.valueOf(b)); // 숫자 a, b를 문자열로 붙여 하나의 숫자로 만든 경우
int multiplyCase = 2 * a * b; // 두 숫자를 곱한 경우
return plusCase > multiplyCase ? plusCase : multiplyCase; // 두 결과 중 더 큰 값 반환
}
}
💡 핵심 포인트 정리
| 문법 | 의미 |
| String.valueOf() | 숫자 → 문자열 |
| + (String) | 문자열 연결 |
| Integer.parseInt() | 문자열 → 정수 |
| ? : | 삼항 연산자 |
| > | 크기 비교 |
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
| [Java] 프로그래머스 코딩테스트 연습 / 대소문자 바꿔서 출력하기 (0) | 2026.01.16 |
|---|---|
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 반복해서 출력하기 (0) | 2026.01.15 |
| [Java] 프로그래머스 코딩테스트 연습 / a와 b 출력하기 (0) | 2026.01.13 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 출력하기 (0) | 2026.01.12 |
| [Java] 프로그래머스 코딩테스트 연습 / 홀짝 구분하기 (0) | 2026.01.11 |