티스토리 뷰
생각
Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q15552.java 각 A+B의 결과를 출력한다.
처음 생각
입력으로 받고 계산후 출력해야하는 개수가 최대 100만개로 매우 많으므로 Java의 경우 Scanner, Python의 경우 input() 을 그대로 사용하면 시간 초과가 날 가능성이 매우 크다.
▶ Java의 경우는 BufferedReader, Python의 경우에는 sys.stdin 을 이용해서 입력을 받아주면 된다.
▶ Java의 경우 StringBuilder나 BufferedWriter를 통해 입력을 누적해서 한 번에 출력을 해주어야 메모리 초과가 나오지 않는다.
방안
1) 방안
입력과 출력이 많다고 생각되는경우 이 문제와 같이 BufferedReader와 StringBuilder를 사용하면 메모리와 시간이 크게 줄어든다.
2) Java 풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package baekjoon.q10000; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q15552 { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); for(int i=0;i<n;i++){ StringTokenizer st = new StringTokenizer(br.readLine()); sb.append(Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken())+"\n"); } System.out.println(sb); } } |
3) Python 풀이
1 2 3 4 5 | import sys n = int(input()) for i in range(n): a,b = map(int,sys.stdin.readline().split()) print(a+b) |
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 6593번 상범 빌딩 (0) | 2019.04.02 |
---|---|
[백준] 1978번 소수 찾기 (0) | 2018.12.10 |
[백준] 1476번 날짜 계산 (0) | 2018.12.09 |
[백준] 4673번 셀프 넘버 (0) | 2018.12.07 |
[백준] 9095번 1, 2, 3 더하기(DP) (0) | 2018.12.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday