코딩테스트 연습 > 코딩 기초 트레이닝 > 더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
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;
String aa = String.valueOf(a);
String bb = String.valueOf(b);
String ab = aa.concat(bb);
String ba = bb.concat(aa);
a = Integer.valueOf(ab);
b = Integer.valueOf(ba);
if(a-b > 0){
answer = a;
}else{
answer = b;
}
return answer;
}
}
왜 3점이나 줄까?..
GPT한테 효율적으로 바꿔달라고했다..
class Solution {
public int solution(int a, int b) {
String ab = Integer.toString(a) + Integer.toString(b);
String ba = Integer.toString(b) + Integer.toString(a);
int resultAB = Integer.parseInt(ab);
int resultBA = Integer.parseInt(ba);
return Math.max(resultAB, resultBA);
}
}
;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,멋진녀석
class Solution {
public int solution(int a , int b) {
String aa = String.valueOf(a);
String bb = String.valueOf(b);
String ab = aa.concat(bb);
String ba = bb.concat(aa);
int resultAB = Integer.valueOf(ab);
int resultBA = Integer.valueOf(ba);
return Math.max(resultAB, resultBA);
}
}
이렇게 바꿨다ㅠ
어디선가 '+' 를 쓰는건 효율적이지 못하다고 봐서!
근데 다른사람들 풀이랑 댓글 보니까
java에서는 형변환할때 String.valueOf() 같은거 안 쓰고 그냥 숫자+"" 이렇게 많이 쓴다고한다,,
Integer.parseInt(""+a+b);
이런식으로,,
반응형
'Chapter02 > 고딩데스드' 카테고리의 다른 글
[ 고딩데스드 ] 전화번호 목록 (2) | 2023.11.20 |
---|---|
[고딩데스드] K번째수 (0) | 2023.11.09 |
[고딩데스드] 프로그래머스 코딩 기초 트레이닝 > 문자 리스트를 문자열로 변환하기 , A 강조하기 (2) | 2023.11.01 |
[고딩데스드] 프로그래머스 코딩 기초 트레이닝 > 문자열 섞기 , 분수의 덧셈 , 중앙값 구하기 (0) | 2023.10.30 |
[고딩데스드] Lv.0 여러개 (0) | 2023.10.23 |