(1).백준 24387번 ИЗЛОЖЕНИЕ НА ПЧЕЛЕН МЕД는 위, 아래 값을 곱했을 때

최대값이 나올 수 있는 매칭을 해야 하는 문제였기 때문에 sort로 정렬 후 곱셈처리해서 해결했다.

 

처음에는 오답이 나와서 당황했는데 문제를 자세히 읽어보니 입력 가능 수치는 100만까지였기 때문에

곱한 결과가 100억까지 가능해서 BigInt를 사용해야만 해결이 가능한 문제였다.

 

Bigint는 sort가 되지 않기 때문에 일단 sort 전에는 Number로 형변환을 진행한 다음

sort로 정렬하고 다시 String으로 형변환을 하고 거기서 다시 BigInt로 변경해줬다.

 

최종적으로는 n이 붙는 BigInt 형태였기 때문에 다시 String으로 형변환을 해 n을 제거했는데

문제 자체는 간단했지만 에러 원인이 나오지 않기 때문에 초반에 접근해서는 어려울 수 있었을 것 같은 문제였다.

const input = `7 2 9
10 5 3`.split('\n').map(el => el.split(' ').map(Number).sort((a,b) => a-b).map(String).map(BigInt))

console.log(String(input[0][0] * input[1][0] + input[0][1] * input[1][1] + input[0][2] * input[1][2]))

 

'회고' 카테고리의 다른 글

[개발일지] - 220  (2) 2024.02.05
[개발일지] - 219(주말)  (0) 2024.02.04
[개발일지] - 217  (0) 2024.02.02
[개발일지] - 216  (1) 2024.02.01
[개발일지] - 215  (1) 2024.01.31

+ Recent posts