eekdland   1년 전

Text로 적어드린 소스코드처럼 프론트엔드에서 출력하는 HTML(웹브라우저 자바스크립트 포함)로도 문제를 풀 수 있으면 어떨지 싶네요.

아니면 소스코드에서 script 태그 내부만 입력하는 걸로 해서 프론트엔드 자바스크립트로 푸는 것도 있으면 어떨지 싶습니다.

node.js와 프론트엔드 자바스크립트는 입력을 받을 때

require('fs').readFileSync('/dev/stdin').toString() 를

prompt() 로 쓰는 등등 차이가 있죠.

백준에서 여러 언어를 추가해주시니 혹시 프론트엔드 용 언어도 백준에 추가될 수 있을지 궁금해서 글을 써 봅니다.

lcr7324   1년 전

말씀하신 내용을 "웹 브라우저 상에서 prompt로 입력 받고 브라우저 창에 출력하는 방식으로 백준을 풀고 싶다"는 내용으로 해석하면,

불가능합니다.

브라우저 창에 출력되는 내용을 백준 프로그램이 확인하고 정답과 비교 검증할 수 있는 방법이 없기 때문입니다. (설사 있다고 해도 매우 매우 어려울 겁니다)

기본적으로 백준에서 코드를 채점하는 방식은 프로그램이 stdin으로 입력을 받고 stdout에 출력을 한다는 전제 하에 동작하도록 설계되었습니다.

stdin과 stdout을 파일 입출력으로 redirection해서 파일에서 데이터를 읽고 파일에 쓰도록 하여 정답 파일과 비교하는 (혹은 프로그램의 출력을 제3의 스페셜 저지 프로그램에 다시 입력으로 넣어 정답 여부를 검사하는) 방식이죠.

node.js나 Typescript 등의 채점은 node 상에서 구동되기 때문에 위 전제가 성립하지만, 브라우저가 개입되면 전제가 깨지게 됩니다.

안타깝지만 prompt는 포기하셔야 하겠습니다.

eekdland   1년 전

preview

샌드박스 혹은 위 https://codepen.io 같은 방식이 가능할까 했는데 불가능한가보군요... 알려주셔서 감사합니다!

shiftpsh   1년 전

이론상 불가능하지는 않을 겁니다. https://github.com/puppeteer/p...

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