728x90
난이도 : 실버5
풀이일 : 2401044
https://www.acmicpc.net/problem/1769
1769번: 3의 배수
문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를
www.acmicpc.net
링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐
풀이코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class J04_b_1769 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String N = br.readLine();
int count = 0;
while(true) {
if (N.length() == 1) {
break;
}
int temp = 0;
for (int i = 0; i < N.length(); i++) {
temp += Integer.parseInt(String.valueOf(N.charAt(i)));
}
count += 1;
N = String.valueOf(temp);
}
System.out.println(count);
if (Integer.parseInt(String.valueOf(N)) % 3 == 0) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
- count : 몇 번의 변환을 거쳤는지 확인
- temp : 각 자릿수를 더한 결과
- 문자 형식으로 입력받은 숫자의 각 자리수를 순회하며 temp에 모두 더해준 뒤, temp를 문자열로 재할당한다.
- 재할당 이후에는 count에 1을 더해 횟수를 센다.
- temp가 한자리 수가 되면 반복문을 중단하고, 3의 배수 여부를 확인하여 결과를 출력한다.
느낀점
- 자바 형변환 오랜만에 하니까 또 헷갈려서 조금 버벅거렸다. 무슨 회고가 늘 오랜만에 하니까 헷갈린다는 소리뿐이다.
- 프로젝트도 급하고 재밌지만, 알고리즘도 재밌는데 얼른 다시 예전처럼 시간을 쏟고 실력을 올리자
'알고리즘 > 🥈 실버' 카테고리의 다른 글
백준 1235 학생 번호 자바 풀이, 반례 (0) | 2024.01.11 |
---|---|
백준 1652 누울 자리를 찾아라 자바 풀이, 반례 (1) | 2024.01.09 |
백준 1926 그림 자바 풀이 (0) | 2023.12.17 |
백준 1384 메시지 자바 풀이 (0) | 2023.12.15 |
백준 26169 세 번 이내에 사과를 먹자 파이썬 풀이 (0) | 2023.11.22 |