[JavaScript] Lv0 - 더 크게 합치기

Moon·2024년 11월 20일
0
post-thumbnail

더 크게 합치기

문제 설명

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.

  • 12 ⊕ 3 = 123
  • 3 ⊕ 12 = 312

양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.

단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.


제한사항

  • 1 ≤ ab < 10,000

입출력 예

abresult
991991
898898

입출력 예 설명

입출력 예 #1

  • a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.

입출력 예 #2

  • a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.

첫 번째 코드

function solution(a, b) {
    const ab = Number(String(a) + String(b)); // a ⊕ b 계산
    const ba = Number(String(b) + String(a)); // b ⊕ a 계산
    return ab >= ba ? ab : ba; // 더 큰 값 반환, 같다면 ab 반환
}

코드 설명

  1. 문자열로 변환 및 연결
    • String(a) + String(b)String(b) + String(a)를 사용하여 두 숫자를 문자열로 변환한 뒤 연결합니다.
    • 예: a = 9, b = 91일 때:
      • String(a) + String(b)"9" + "91""991"
      • String(b) + String(a)"91" + "9""919"
  2. 숫자로 변환
    • 연결된 문자열을 Number()로 변환하여 정수 값으로 사용합니다.
    • 예: "991"991, "919"919
  3. 더 큰 값 반환
    • ab >= ba 조건을 확인하여:
      • true일 경우 ab를 반환합니다.
      • false일 경우 ba를 반환합니다.

두 번째 코드

function solution(a, b) {
    return Math.max(Number(`${a}${b}`), Number(`${b}${a}`));
}

코드 설명

  1. 문자열로 변환 및 연결
    - 템플릿 리터럴(``)을 사용하여 a b를 문자열로 변환한 뒤 연결합니다.
    - 예: a = 9, b = 91일 때:
    - ${a}${b}"9" + "91""991"
    - ${b}${a}"91" + "9""919"
  2. 숫자로 변환
    • Number()를 사용하여 연결된 문자열을 숫자로 변환합니다.
    • 예: "991"991, "919"919
  3. 더 큰 값 반환
    • Math.max()를 사용하여 두 값 중 더 큰 값을 반환합니다.
    • 예: Math.max(991, 919)991

두 코드 실행 예시

입력: a = 9, b = 91

  1. 첫 번째 코드
    • ab = 991, ba = 919
    • 반환값: 991
  2. 두 번째 코드
    • Math.max(991, 919)
    • 반환값: 991
profile
MOON.DEVLOG

0개의 댓글