본문 바로가기
JAVA/백준

백준 단계별로 풀기 자바 [4단계 - while문]

by 비전공자 기록광 2021. 8. 19.
반응형

https://www.acmicpc.net/step

 

단계별로 풀어보기

단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!112if문if문을 사용해 봅시다.53for문for문을

www.acmicpc.net

 

1단계 10952 A+B -5

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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==0break;
            
            System.out.println(A+B);
        }   
    }
}
cs

 

 

 

2단계 10951 A+B -4

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args){
          Scanner sc = new Scanner(System.in);
        
        while(sc.hasNext()) {
            int A = sc.nextInt();
            int B = sc.nextInt();
                        
            System.out.println(A+B);
        } 
        sc.close();
    }
}
cs

 

3단계 1110 더하기 사이클

 

 

 

✅ 26에서 2는 26/10 로 나옴 (몫)

✅ 26에서 6은 26%10 으로 나옴 (나머지)

✅ 2+6= 8은 ((26/10)+(26%10))%10 으로 나옴 (몫 + 나머지를 또 나눈 나머지)

 

✅ 사이클이 돈 후 새로운 숫자 68은 ((26%10)*10)+((26/10)+(26%10))%10) 로 나옴

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args){
          Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        
        int cnt = 0;
        
        int x = N;    //사이클 후 숫자
    
        while(true) {
            
            x = (((x%10)*10)+((x/10)+(x%10))%10);
            cnt++;
            
            if(N==x) break;
        }
        
        System.out.println(cnt);
    }
}
 
cs
반응형

댓글