백준 공부/Java

단계별로 풀어보기 - while문 java

Mary's log 2021. 11. 22. 12:45

* 완벽한 정답은 없다

* 여러 정답 블로그 보면서 리팩토링하기에 좋겠다~ 식으로 다른 사람의 코드도 읽기

* java class이름 : Main

* 백준 링크 : 


10952

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

입력의 마지막에는 0 두 개가 들어온다.

각 테스트 케이스마다 A+B를 출력한다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		while (true) {
			int A = scan.nextInt();
			int B = scan.nextInt();

			if (A == 0 && B == 0) {
				break;

			}
			System.out.println(A + B);
		}

	}
}

 

 

10951

hasNext뒤로 Boolean, Double, Int 등등 자료형이 붙은 건 입력된 값이 그 자료형일 경우에는 true값을 반환하고 아닐 경우 false를 반환하는 함수이다.

hasNextInt() 값을 출력할 때 정수가 들어오면 true, 입력이 없거나 정수 외의 값이 들어올 경우 false를 반환한다. 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		while (scan.hasNext()) {
			int A = scan.nextInt();
			int B = scan.nextInt();
			System.out.println(A + B);
		}
		scan.close();
	}
}

 

 

 

1110 ★꼭 다시 풀어보기

st-lab.tistory.com/42

while문 - 마지막 단계 1110 (velog.io)

[백준] 1110번 : 더하기 사이클 - JAVA [자바] (tistory.com)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int N = scan.nextInt();
		scan.close();
		
		int copy = N;
		int count = 0;

		while (true) {
			N = ((N % 10) * 10) + (((N / 10) + (N % 10)) % 10);
//			새로운 N값으로 다시 계산해나가야하니까, 변수N으로 다시 받음
			count++;//한번씩 돌때마다 +1

			if (N == copy) {// 새로운 N값이 = 맨처음 N값이면
				break;		// 반복문을 멈춤
			}
		}
		System.out.println(count);

	}
}