mg07315   10일 전

백준에서는 TypeScript 4.2.4 버전을 기준으로 채점이 이루어집니다.

따라서 최신 TypeScript 문법이나 일부 기능은 정상적으로 동작하지 않을 수 있어 주의가 필요합니다.

자세한 채점 환경은 아래 링크를 통해 확인하실 수 있습니다.

https://help.acmicpc.net/langu...

아래는 TypeScript로 백준 문제를 풀면서 제가 겪었던 경험을 토대로 정리한 팁들을 순서 없이 열거한 것입니다.

  • 큰 수 연산 시 123n과 같은 bigint 리터럴을 사용하면 컴파일 에러가 발생합니다.
    따라서 반드시 BigInt()로 감싸 BigInt(123) 또는 BigInt('123') 형태로 사용해야 합니다.
  • 큰 수 연산 시 거듭제곱 연산에 주의해야 합니다.
    bigint 값에 대해 거듭제곱 연산자(**)를 사용할 경우 컴파일 에러가 발생합니다.
    따라서 별도의 pow 함수를 구현하여 사용하는 것을 권장합니다.
  • for...of 문법 사용 시 문자열, SetIterator, MapIterator를 직접 순회하면 컴파일 에러가 발생합니다.
    이 경우 Array.from()으로 감싸 Array로 변환한 뒤 순회하는 것이 안전합니다.
    문자열 순회가 필요한 경우에는 인덱스 기반 접근을 사용하는 것이 보다 안전합니다.
  • 반복문 내부에서 function 키워드로 로컬 함수를 선언하면 컴파일 에러가 발생합니다.
    이 경우 함수를 반복문 밖으로 분리하거나 arrow function을 사용하는 것이 좋습니다.

그 밖에도 겪으신 사례나 잘못된 정보, 정정이 필요한 내용이 있다면 댓글로 공유해주시면 감사하겠습니다.

wizardrabbit   10일 전

사실, 실무 버전이랑 너무 많이 차이가 나는 것도 있고, 버전을 신경쓰며 구현해야 하다 보니까, 그래서 괴리감이 좀 큰 것 같아요.

그래서 TypeScript로 연습할 경우 다른 곳에서 연습하고, 여기서 문제 풀 때는 node.js 쓰고 있어요.

bupjae   10일 전

4.2.4 는 2021년도에 release 된 버전인데...

이 정도로 버전이 오래되었으면 언어 업데이트를 요청하는게 나을 것 같습니다

cr00   10일 전

ts 소스를 tsc든 esbuild든 구형 문법으로 트랜스파일해서 nodejs로 제출하면 대부분의 경우 작동합니다

댓글을 작성하려면 로그인해야 합니다.