개발자 톡
연습문제 톡
나무 심기
어떤 문제로 인해서 코드가 성공하고 실패하는지 반례를 찾지 못하겠습니다.
- 등록일
- 2024-10-30 16:09:44
- 조회수
- 12
- 작성자
- kimty131
성공한 코드
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let inputs = []; rl.on('line', (line) => { inputs.push(line.trim()); }).on('close', () => { const [n,Fs] = inputs; const FList = Fs.split(' ').map(Number); let answer = -Infinity; FList.forEach((el,idx,origin)=>{ origin.slice(idx+1).forEach(el2=>{ answer = Math.max(answer,el*el2); }) }) console.log(answer); process.exit(0); });
실패한 코드
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let inputs = []; rl.on('line', (line) => { inputs.push(line.trim()); }).on('close', () => { const [n,Fs] = inputs; const FList = Fs.split(' ').map(Number); let answer = -Infinity; FList.forEach((el,idx,origin)=>{ origin.slice(idx+1).forEach(el2=>{ // 에러가 발생한다고 예상되는 부분 if(answer < el * el2) answer = el*el2; }) }) console.log(answer); process.exit(0); });
어떤 이유 때문에 실패하는지 모르겠습니다. 차이점은 대소 비교하는 부분에서 answer에 값을 할당하는 부분 말고는 차이가 없다고 생각하는데 말입니다.
#나무_심기
#대소_비교
#에러
#원인_파악_불가