입력
C/C++
#include <stdio.h>
int N;
scanf("%d", &N);
int A[1003];
for (int i = 0; i < N; i ++) {
scanf("%d", A+i);
}
Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 한 줄에 정수 하나가 주어지는 경우
int N = Integer.parseInt(br.readLine());
// 한 줄에 정수 N개가 공백으로 분리되어 주어지는 경우
int[] A = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i ++) {
A[i] = Integer.parseInt(st.nextToken());
}
br.close();
Swift
출처: https://gist.github.com/JCSooHwanCho/30be4b669321e7a135b84a1e9b075f88
final class FileIO {
private let buffer:[UInt8]
private var index: Int = 0
init(fileHandle: FileHandle = FileHandle.standardInput) {
buffer = Array(try! fileHandle.readToEnd()!)+[UInt8(0)] // 인덱스 범위 넘어가는 것 방지
}
@inline(__always) private func read() -> UInt8 {
defer { index += 1 }
return buffer[index]
}
@inline(__always) func readInt() -> Int {
var sum = 0
var now = read()
var isPositive = true
while now == 10
|| now == 32 { now = read() } // 공백과 줄바꿈 무시
if now == 45 { isPositive.toggle(); now = read() } // 음수 처리
while now >= 48, now <= 57 {
sum = sum * 10 + Int(now-48)
now = read()
}
return sum * (isPositive ? 1:-1)
}
@inline(__always) func readString() -> String {
var now = read()
while now == 10 || now == 32 { now = read() } // 공백과 줄바꿈 무시
let beginIndex = index-1
while now != 10,
now != 32,
now != 0 { now = read() }
return String(bytes: Array(buffer[beginIndex..<(index-1)]), encoding: .ascii)!
}
@inline(__always) func readByteSequenceWithoutSpaceAndLineFeed() -> [UInt8] {
var now = read()
while now == 10 || now == 32 { now = read() } // 공백과 줄바꿈 무시
let beginIndex = index-1
while now != 10,
now != 32,
now != 0 { now = read() }
return Array(buffer[beginIndex..<(index-1)])
}
}
let fio = FileIO()
let n = fio.readInt()
let s = fio.readString()
출력
C/C++
#include <stdio.h>
int N = 1000;
int A[1000];
for (int i = 0; i < N; i ++) {
A[i] = i * i;
printf("%d\n", A[i]);
}
Java
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = 1000;
int[] A = new int[N];
for (int i = 0; i < N; i ++) {
A[i] = i * i;
bw.write(String.valueOf(A[i]]) + "\n");
}
bw.write("String\n");
bw.flush(); // 이 부분이 없으면 출력이 되지 않을 수도 있음
bw.close();