개발도생's Blog
[백준][Java] 15873_공백 없는 A+B 본문
[백준] 15873_공백 없는 A+B 문제
15873번: 공백 없는 A+B
자연수 A, B (0 < A, B ≤ 10)가 첫 번째 줄에 주어진다. 단, 두 수의 사이에는 공백이 주어지지 않는다. 두 수의 앞에 불필요한 0이 붙는 경우는 없다.
www.acmicpc.net
입력한 수가 둘 다 10이면 20을 출력하던지, 하나만 10일 때 10에 나머지를 더해서 출력하거나, 두 숫자 모두 10이 아닐 때 두 숫자를 바로 합해서 출력하면 되는 문제다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String A = br.readLine();
if(A.contains("1010")){ // 입력 된 수가 1010일 때
System.out.println(20);
} else if(A.contains("10")){ // 입력 된 값에 10이 포함 돼 있을 때
A = A.replace("10", "");
System.out.println(10 + Integer.parseInt(A));
} else { // 10이 포함 돼 있지 않을 때
String[] arr = A.split("");
System.out.println(Integer.parseInt(arr[0]) + Integer.parseInt(arr[1]));
}
}
}
값을 입력해야 하기 때문에 BufferedReader객체를 사용했다.
[Java][Class] Bufferedreader
코딩 테스트 문제들을 풀다가 우연히 알게 된 Bufferedreader 객에 대해서 공부해봤다. Bufferedreader Class는, 이름과 같이 버퍼를 사용하는 클래스다. 일반적으로 알고 있던 Scanner Class는 사용자가 값을
nan-o-nuel-do.tistory.com
문자열 타입의 변수에 입력 값을 바로 저장했고,
그 값을 String Class에서 제공해주는 contains() 메서드와 replace() 메서드로 식을 완성해보았다.
contains() 메서드에 입력된 파라미터 값이 변수에 저장된 값에 포함이 돼 있는지 확인할 수 있다.
1. 변수에 저장된 값에 "1010"이라는 값으로 확인이 된다면 20이라는 숫자를 바로 출력하고,
2. 변수에 저장된 값 중에 "10"이라는 값이 확인이 된다면 replace() 메서드를 통해 "10"을 지운 나머지 값만 변수에 남아 있도록 설정해준 후 그 값을 정수 타입으로 형 변환시켜 10에 더해준다.
3. 마지막으로 둘 다 10이 아닌 숫자일 경우에는 문자를 배열에 split() 메서드로 나눠 저장해주고, 각각 배열에 저장된 값을 정수 타입으로 형 변환 시켜 더해주면 된다.
위와 같은 코드로 제출했을 때,
맞았습니다!!
'BaekJoon' 카테고리의 다른 글
[백준][Java] 16199_나이 계산하기 (0) | 2022.12.22 |
---|---|
[백준][Java] 15963_CASIO (1) | 2022.12.20 |
[백준][Java] 15726_이칙연산 (2) | 2022.12.19 |
[백준][Java] 15700_타일 채우기 4 (1) | 2022.12.15 |
[백준][Java] 15680_연세대학교 (0) | 2022.12.15 |