728x90
난이도 : 브론즈3
풀이일 : 12122
https://www.acmicpc.net/problem/1284
1284번: 집 주소
재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하
www.acmicpc.net
링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐
풀이 코드
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));
while (true) {
int result = 1;
String temp = br.readLine();
int nums = temp.length();
if (nums == 1 && temp.charAt(0) == '0') {
break;
}
for (int i = 0; i < nums; i++) {
if (temp.charAt(i) == '1') {
result += 3;
}
else if (temp.charAt(i) == '0') {
result += 5;
}
else {
result += 4;
}
}
System.out.println(result);
}
}
}
- Scanner 대신 BufferedReader를 사용해서 입력 속도 개선
- 입력으로 0이 들어오기 전까지 반복
- result : 총 필요한 칸 수로, 기본 좌측 여백을 포함하여 1부터 시작
- 숫자에 따라 필요한 칸수 + 여백 한 칸 더해주기
느낀점
- BufferedReader를 사용하는게 파이썬에서 처음 sys.stdin.readline을 사용할 때처럼 어색하게 느껴지지만 금방 적응이 되겠지
- 자바를 다 잊어버려서 기억 하기 위해 조금씩 풀고 있는데 얼른 다시 실버 문제 풀게 되면 좋겠다.
- 이제 프로젝트도 여유로워졌고, 통학도 없어졌으니까 다시 꾸준히 작성해봐야지.
'알고리즘 > 🥉 브론즈' 카테고리의 다른 글
백준 1076 저항 자바 풀이 (0) | 2023.12.14 |
---|---|
백준 1598 꼬리를 무는 숫자 나열 자바 풀이 (0) | 2023.12.13 |
백준 2953 나는 요리사다 자바 풀이 (0) | 2023.07.17 |
백준 10156 과자 자바 풀이 (1) | 2023.07.04 |
백준 5565 영수증 자바 풀이 (0) | 2023.07.02 |