python javascript 입출력 (알고리즘 문제용)
https://help.acmicpc.net/language/info
# 파이썬 알고리즘 문제 빠른 입출력
```python
import sys
#한줄씩
n=sys.stdin.readline().rstrip()
N,S=map(int,sys.stdin.readline().rstrip().split())
# 여러줄 한번에
input_str = sys.stdin.read().rstrip().split("\n")
```
---
# js 백준
```javascript
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a+b);
```
eof 예시 10951
```javascript
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trimEnd().split('\n');
#전체 입력으로 해결하는데 trimEnd로 끝에 공백제거
for (let i=0;i<input.length;i++){
let [a,b]=input[i].split(" ")
console.log(Number(a)+Number(b))
}
```
---
JavaScript로 코딩 테스트를 할 때는 입출력 방식이 플랫폼마다 다를 수 있습니다. 그러나 일반적으로 사용하는 두 가지 환경에 맞춰 설명하겠습니다.
1. **Node.js 환경**:
- 대부분의 코딩 테스트 플랫폼에서 JavaScript를 실행할 때는 Node.js 환경을 사용합니다. Node.js에서 표준 입력/출력을 처리하는 방법을 알아봅니다.
2. **브라우저 환경**:
- 브라우저에서는 기본적으로 `prompt()`나 `alert()` 같은 함수를 사용할 수 있지만, 코딩 테스트 플랫폼에서는 이런 방식보다는 Node.js 환경을 주로 사용하므로 이에 맞춘 설명을 드립니다.
---
### Node.js 환경에서 빠른 입출력 처리
1. **입력 처리**:
- `readline` 모듈을 이용해 입력을 처리할 수 있습니다. 하지만 대량의 데이터를 효율적으로 처리하려면 `stdin`을 활용해 데이터를 한꺼번에 받는 것이 더 빠릅니다.
#### `readline` 모듈로 입력 처리:
```javascript
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
// 한 줄 입력 받을 때마다 처리하는 부분
console.log(line);
rl.close();
});
```
#### `stdin`으로 입력 처리 (대량 데이터 처리 시):
```javascript
let input = '';
process.stdin.on('data', function (data) {
input += data;
});
process.stdin.on('end', function () {
// 입력 받은 내용을 줄 단위로 분할
const lines = input.split('\n');
// lines 배열을 처리
console.log(lines);
});
```
2. **출력 처리**:
- 출력은 `console.log()`를 주로 사용합니다. Node.js에서는 성능 문제 없이 적합합니다. 하지만 매우 많은 데이터를 출력해야 할 때는 `process.stdout.write()`를 사용하여 더 빠르게 처리할 수 있습니다.
#### `console.log()` 예시:
```javascript
console.log('Hello, World!');
```
#### `process.stdout.write()` 예시:
```javascript
process.stdout.write('Hello, World!\n');
```
---
### 입출력 예시: 간단한 덧셈 문제
입력으로 두 수를 받고 그 합을 출력하는 문제를 Node.js 환경에서 처리하는 예시입니다.
```javascript
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const [a, b] = line.split(' ').map(Number);
console.log(a + b);
rl.close();
});
```
또는 대량의 입력을 한 번에 처리하고 출력하는 방식:
```javascript
let input = '';
process.stdin.on('data', function (data) {
input += data;
});
process.stdin.on('end', function () {
const lines = input.split('\n');
for (let line of lines) {
const [a, b] = line.split(' ').map(Number);
if (!isNaN(a) && !isNaN(b)) {
console.log(a + b);
}
}
});
```
---
### 요약
- **입력**: `readline` 모듈로 한 줄씩 입력을 받거나, 대량 데이터를 처리할 때는 `stdin`으로 한 번에 읽습니다.
- **출력**: `console.log()`를 주로 사용하지만, 많은 데이터를 출력할 때는 `process.stdout.write()`로 더 빠르게 처리할 수 있습니다.
코딩 테스트 플랫폼마다 입출력 방식이 다를 수 있으니, 사용하기 전에 해당 플랫폼의 입출력 예시를 확인하는 것이 좋습니다.
댓글
댓글 쓰기