728x90
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
학습
문제를 풀고 문제 번호를 구글링해보다가 흥미로운 티스토리를 발견했다. (st-lab.tistory.com/39) 인데 이 문제를 여러가지 알고리즘으로 풀어놓은 글이다. 좋은 개발자가 되려면 1. 메모리용량를 적게쓰고(공간복잡도) 2. 시간이 적게걸리는(시간복잡도) 코드를 프로그래밍해야한다고 자료구조 수업에서 배운적이 있다.
지금 내가 작성한 코드를 살펴보면
다음과같다. 맨 위에 제출한 코드는
System.out.printf("%d\n",a+b);
로 작성했고 맨 아래에 제출한 코드는
System.out.println(a+b);
로 바꾸어 작성하였다. 메모리 크기나 풀이속도에서 크게 차이가 나진 않지만 printf와 \n을 사용하는 것 보단 printIn 함수로 작성하는게 더 효율적인 알고리즘이라는 것을 알게되었다.
아직 자바에 익숙하지 않아 저 티스토리의 2,3번째 코드는 이해할 수 없어 단순히 출력방식을 변경해보는 것에 그쳤지만 다음에 자바에 좀 더 익숙해진다면 한번 공부하고 그 내용을 여기에 추가해야겠다.
코드
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { int a=sc.nextInt(); int b=sc.nextInt(); if (a==0 && b==0) { break; } System.out.println(a+b); } sc.close(); } }
출처
728x90
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 백준 8958 OX퀴즈 (String과 char 자료형의 차이, charAt()) (0) | 2021.04.15 |
---|---|
[JAVA] 백준 4344 평균은 넘겠지 (0) | 2021.04.15 |
[JAVA] 백준 10951 A+B -4 (Scanner메소드-hasNextInt) (0) | 2021.03.31 |
[JAVA] 백준 2742 기찍N (0) | 2021.03.21 |
[JAVA] 백준 8393 합 (0) | 2021.03.21 |