새소식

Algorithm

빠른 입출력

  • -

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();

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.