https://www.acmicpc.net/problem/3507
Automated Telephone Exchange [자동 전화 교환]
1 초 | 128 MB | 574 | 458 | 422 | 80.688% |
문제
In St Petersburg phone numbers are formatted as “XXX–XX–XX”, where the first three digits represent index of the Automated Telephone Exchange (ATE). Each ATE has exactly 10 000 unique phone numbers.
Peter has just bought a new flat and now he wants to install a telephone line. He thinks that a phone number is lucky if the arithmetic expression represented by that phone number is equal to zero. For example, the phone number 102–40–62 is lucky (102 − 40 − 62 = 0), and the number 157–10–47 is not lucky (157 − 10 − 47 = 100 ≠ 0).
Peter knows the index of the ATE that serves his house. To get an idea of his chances to get a lucky number he wants to know how many lucky numbers his ATE has.
입력
The input file contains a single integer number n — the index of Peter’s ATE (100 ≤ n ≤ 999).
출력
Output a single integer number — the number of lucky phone numbers Peter’s ATE has.
예제 입력 1 복사
196
예제 출력 1 복사
3
예제 입력 2 복사
239
예제 출력 2 복사
0
풀이 : (입력된 수) == (두자리 수 2개를 더한 값) 의 경우를 구하는 문제
두 자리 수를 a, b라 했을 때 a,b의 범위는 1~99이다.
따라서 a+b 의 최대값은 99+99=198 이다.
이중 for문을 사용해 'a+b == 입력된 수' 인 경우에 카운트를 증가시켰다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
// 백준 3507. Automated Telephone Exchange
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int ATE = Integer.parseInt(br.readLine());
int cnt = 0;
if(ATE <= 198){ // 2자리 수의 최대값 99+99 = 198
for(int i=1; i<100; i++){
for(int j=1; j<100; j++){
if((i+j) == ATE) cnt++;
}
}
}
System.out.println(cnt);
}
}
'알고리즘 문제풀이 > Beakjoon' 카테고리의 다른 글
백준 3460. 이진수 (JAVA) (0) | 2023.03.01 |
---|---|
백준 4909. Judging Olympia (JAVA) (0) | 2023.02.28 |
백준 2783. 삼각 김밥 (JAVA) (1) | 2023.02.22 |
백준 4388. 받아올림 (JAVA) (1) | 2023.02.17 |
백준 3059. 등장하지 않는 문자의 합 (JAVA) (0) | 2023.02.17 |