-
[문제풀이 후기] 백준 #28431 - 양말 짝 맞추기문제풀이/Baekjoon 2026. 2. 11. 17:07
https://www.acmicpc.net/problem/28431
기본 상위 코드
import { readFileSync } from "fs"; const input = readFileSync(0).toString().trim(); const array = input.split("\n").map(Number); const arrayMap = new Map(); array.forEach((value) => arrayMap.set(value, (arrayMap.get(value) || 0) + 1));첫 번째 시도 (결과 : 테스트 환경(성공) / 제출 환경(실패))
접근 방식
1. Map 으로 value 의 개수 count
2. keys() 에서 value 의 개수가 홀수인 값 반환const result = [...arrayMap.keys()].find( (key) => arrayMap.get(key) % 2 !== 0, ); console.log(result);실패 원인 : 컴파일 에러 ( EPIPE 에러 )
- TypeScript 가 스프레드 연산자(...) 를 컴파일 할 때 헬퍼 함수를 사용함
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { // ... 중략 ... }; __spreadArray([], __read(arrayMap.keys()), false)- 따라서 백준 환경에 제출 시, stdout 에 헬퍼 함수가 포함되면서 파이프의 버퍼의 용량 또는 시간 초과가 발생
두 번째 시도 (결과 : 성공)
접근 방식
1. ... 연산자 대신 Array.from() 사용
- Array.from() 은 컴파일 시, 별도의 헬퍼 함수 없이 그대로 반환함const result = Array.from(arrayMap.keys()).find( (key) => arrayMap.get(key) % 2 !== 0, ); console.log(result);후기
내 코드의 문제가 아닌 제출 환경의 Node.js 문제다 보니 많은 실패를 발생시킨 문제다.
정말이지 개발의 길은... 쉽지 않다.'문제풀이 > Baekjoon' 카테고리의 다른 글
[문제풀이 후기] 백준 #29736 - 브실이와 친구가 되고 싶어 (0) 2026.02.27 [문제풀이 후기] 백준 #28295 - 체육은 코딩과목 입니다 (0) 2026.02.11 [문제풀이 후기] 백준 #31495 - 그게 무슨 코드니.. (0) 2026.01.23 [문제풀이 후기] 백준 #14935 - FA (0) 2026.01.22 [문제풀이 후기] 백준 #11943 - 파일 옮기기 (0) 2026.01.09