```
백준 2935번 소음 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 2935번 풀이
https://www.acmicpc.net/problem/2935
2935번: 소음
수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게
www.acmicpc.net
백준 2935번 소음 은
난이도 브론즈 등급의 문제로서
최대 100자리의 10의 배수 A와 B
그리고 + 혹은 * 인 연산자 OP 가 주어질 때
A+B 혹은 A*B를 출력해주면 됩니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
입력을 받고
0의 개수에 따라서
조건에 맞춰서 1과 0 혹은 2를 조합해서 출력해주면 됩니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
final String input01 = br.readLine();
final String input02 = br.readLine();
final String input03 = br.readLine();
System.out.print(solution(input01, input02, input03));
}
public static String solution(String lhs, String operator, String rhs) {
final int lhsZero = lhs.split("0", -1).length - 1;
final int rhsZero = rhs.split("0", -1).length - 1;
StringBuilder sb = new StringBuilder();
if (operator.equals("*")) {
sb.append("1").append("0".repeat(lhsZero + rhsZero));
} else if (operator.equals("+")) {
if (lhsZero == rhsZero) {
sb.append("2").append("0".repeat(lhsZero));
} else {
final int biggerZero = Math.max(lhsZero, rhsZero);
final int smallerZero = Math.min(lhsZero, rhsZero);
sb
.append("1")
.append("0".repeat(biggerZero - smallerZero - 1))
.append("1")
.append("0".repeat(smallerZero));
}
}
return sb.toString();
}
}
// https://codemasterkimc.tistory.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 2754번 학점계산 JAVA 구현해보기 (1) | 2022.06.04 |
|---|---|
| 백준 2476번 주사위 게임 JAVA 구현해보기 (0) | 2022.06.04 |
| 백준 4458번 첫 글자를 대문자로 JAVA 구현해보기 (0) | 2022.06.03 |
| 백준 4470번 줄번호 JAVA 구현해보기 (0) | 2022.06.03 |
| 백준 2153번 소수 단어JAVA 구현해보기 (0) | 2022.06.03 |