[JavaScript] Lv0 - 문자열로 변환

Moon·2025년 12월 7일
post-thumbnail

문자열로 변환

문제 설명

정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 10000

입출력 예

nresult
123"123"
2573"2573"

입출력 예 설명

입출력 예 #1

  • 123을 문자열로 변환한 "123"을 return합니다.

입출력 예 #2

  • 2573을 문자열로 변환한 "2573"을 return합니다.

1. 가장 명확한 방법 — String(n)

function solution(n) {
  return String(n);
}

왜 이 방식이 좋은가?

  • 의도가 가장 분명하다. “숫자를 문자열로 변환한다”는 목적이 코드만 보아도 명확하게 드러난다.
  • 암묵적 변환을 피한다. 협업 환경에서는 암묵적 타입 변환이 버그를 유발할 여지가 있으므로, 명시적 변환이 권장된다.
  • 변환 대상이 무엇이든 안정적이다. null, undefined 등 특수 값도 명시적으로 문자열로 바뀐다.

2. 템플릿 리터럴 사용 — 백틱 기반 문자열 결합

function solution(n) {
  return `${n}`;
}

장점

  • ES6 이후 가장 많이 사용되는 문자열 생성 방식.
  • 내부적으로 문자열 연산이 보장되므로 자연스럽게 문자열 타입 변환이 이루어진다.

단점

  • "문자열을 만들기 위해 템플릿 문법을 사용한다"는 점에서 약간의 과잉 표현.
  • 목적은 "변환"인데 "포매팅" 문법을 쓴 것처럼 보일 수 있다.

3. 문자열 덧셈 — 전통적인 방식

function solution(n) {
  return n + "";
}

평가

  • 자바스크립트 초창기부터 존재하던 방식.
  • 암묵적 타입 변환에 의존하기 때문에 오늘날에는 선호되지 않는다.
  • 코드 리뷰 시 “의도가 불명확하다”는 지적을 받을 여지가 있다.

4. toString() 메서드 사용

function solution(n) {
  return n.toString();
}

장점

  • 숫자의 고유 메서드이므로 비교적 직관적이다.

주의 사항

  • null이나 undefined에 사용하면 에러를 발생시킨다.
  • 이 문제는 입력이 항상 유효하므로 문제는 없지만, 방어적 프로그래밍 관점에서는 String(n)이 더 안전하다.

📌 최종 권장 풀이

function solution(n) {
  return String(n);
}

선택 이유

  • 명시적이고 안전하며 협업 환경에서 예측 가능한 패턴.
  • 타입 변환이라는 본래 의도를 가장 직관적으로 드러낸다.

profile
MOON.DEVLOG

0개의 댓글