더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
제한사항
- 1 ≤ a, b < 10,000
입출력 예
a | b | result |
9 | 91 | 991 |
89 | 8 | 898 |
입출력 예 설명
입출력 예 #1
a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.
입출력 예 #2
a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.
코드
class Solution {
public int solution(int a, int b) {
int answer = 0;
return answer;
}
}
풀이
class Solution {
public int solution(int a, int b) {
// a와 b를 문자열로 변환
String key1 = "" + a + b;
// b와 a를 문자열로 변환
String key2 = "" + b + a;
// Integer.valueOf() 메소드: 문자열을 정수로 변환
int answer1 = Integer.valueOf(key1);
int answer2 = Integer.valueOf(key2);
// answer1과 answer2를 비교하여 더 큰 값을 반환
if (answer1 > answer2) {
return answer1;
} else {
return answer2;
}
}
}
- "" (빈 문자열) : 문자열 연결(concatenation)
- 자바에서 정수와 문자열을 이어 붙이려 할 때, 먼저 한쪽이 문자열이어야 한다.
- 빈 문자열을 사용하면, 이어 붙이려는 정수가 자동으로 문자열로 변환되어 사용 가능
- Integer.valueOf() : 문자열이나 정수를 Integer 객체로 변환하는 데 사용되는 메소드
- 문자열에서 Integer 객체로 변환
- 문자열이 숫자 형식을 나타낼 때, 이 메소드는 해당 문자열을 Integer 객체로 변환
- ex) Integer.valueOf("123")는 문자열 "123"을 Integer 객체로 변환
- 이 변환 과정에서 문자열이 유효한 정수 형식을 나타내지 않으면 NumberFormatException이 발생
- 기본형 int에서 Integer 객체로 변환
- 기본형 int 값을 Integer 객체로 박싱(autoboxing)
- ex) Integer.valueOf(123)는 기본형 int 값 123을 Integer 객체로 변환
- 문자열에서 Integer 객체로 변환
import java.lang.*;
class Solution {
public int solution(int a, int b) {
// a와 b를 문자열로 변환
String key1 = "" + a + b;
// b와 a를 문자열로 변환
String key2 = "" + b + a;
// Integer.valueOf() 메소드: 문자열을 정수로 변환
int answer1 = Integer.valueOf(key1);
int answer2 = Integer.valueOf(key2);
return Math.max(answer1, answer2);
}
}
간략화한 코드
import문
- 클래스를 사용할 때 패키지 이름을 생략가능
- 컴파일러에게 클래스가 속한 패키지를 알려줌
- java.lang 패키지의 클래스는 import하지 않고도 사용할 수 있다. (String, Object, System, Thread ... )
- import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향이 없음
- 선언 방법
- import 패키지명.클래스명;
- import 패키지명.*; -> 모든 클래스
import문은 패키지문과 클래스 선언의 사이에 선언(패키지 포함)
import java.util.Calendar;
import java.util.Date;
import java.util.ArrayList;
import java.util.*;
java 패키지의 모든 클래스(패키지 미포함)
import java.*;
https://school.programmers.co.kr/learn/courses/30/lessons/181939