[자바JAVA]1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기
💡 핵심 요약 (TL;DR)
'1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기' 알고리즘 문제의 요구사항을 분석하고 최적의 자료구조와 연산 방식을 적용해 구현한 풀이다. * 메모리: 15004 시간: 114을 확인했다.
문제 1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기
n개의 정수가 순서대로 입력된다.(-2147483648 부터 +2147483647까지, 단 n의 최대 개수는 알 수 없다.)
n개의 입력된 정수를 순서대로 출력해보자.
while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.
문제 힌트를 보면 C언어의 lable과 goto를 사용하라고 나왔다.
goto는 자바에 있는 예약어지만 기능은 없다.
- 입력예시
첫 줄에 정수의 개수 n이 입력되고,
두 번째 줄에 n개의 정수가 공백을 두고 입력된다. (-2147483648 부터 +2147483647까지, 단 n의 최대 개수는 알 수 없다.)
1 | 5 |
- 출력예시
n개의 정수를 한 개씩 줄을 바꿔 출력한다.
1 | 1 |
풀이1
- 메모리: 15004 시간: 114
1 | public static void main(String[] args) throws IOException { |
풀이2
- 메모리: 14316 kb 수행 시간: 111 ms
1 | public static void main(String[] args) throws IOException { |
풀이3
- 메모리 :11132 kb 수행 시간:68 ms
1 | public static void main(String[] args) throws IOException { |
배운지식
입력을 두 번 받으면 되는 문제였다.
난 어떻게든 한 번 입력받고 처리할려고했으니 잘 될 턱이 있나…
역시 BufferedReader가 빠르다
다른 문제 풀이가 보고싶다면?
[자바JAVA]1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기