Recent Posts
Recent Comments
Link
- Today
- Yesterday
- Total
메이쁘
(JAVA) 백준 10610번 : 30 --- [문자열] 본문
안녕하세요.
문자열 문제입니다.
난이도는 보통이에용!
가장 먼저, 30의 배수가 되는 조건을 생각해봤습니다.
1) 맨 뒤가 0이 있어야 함(뒤에 0의 개수는 상관X)
2) 3의 배수
그럼, 이 30의 배수를 찾는 문제를 해결하는 매커니즘을 작성해보겠습니다.
매커니즘
1) 0을 전부 제외(어차피 맨 오른쪽에 붙이면 되니까)
2) 0을 제외한 남은 숫자들을 전부 더했을 때, 값이 3의 배수인지 확인하기
-> 아니면 3의 배수가 아님
3) 0을 제외한 남은 숫자들 내림차순 정렬
4) 뒤에 0 제외한 개수만큼 0 붙이기
라고 생각했습니다.
이를 좀 더 간소화시켜보면
1) 주어진 숫자를 오름차순 정렬하기
-> 내림차순 정렬이 필요하지만, 간단하게 오름차순 정렬 후 반대로 for문 수행하면 된다.
2) 맨 끝 원소부터 0번 인덱스(첫 번째 원소) 까지 for문 탐색
3) 각 원소를 전부 더하기
4) 각 원소를 전부 더한 값이 3의 배수이고, 가장 첫 번째 원소(0번 인덱스) 의 값이 0이면 정답
-> 두 조건 중 하나라도 만족하지 않으면 30의 배수가 아님.
이상입니다.
감사합니다!
소스코드
'Algorithm > Baekjoon' 카테고리의 다른 글
(JAVA) 백준 1309번 : 동물원--- [DP] (0) | 2021.03.05 |
---|---|
(JAVA) 백준 14938번 : 서강그라운드 --- [다익스트라] (0) | 2021.03.02 |
(JAVA) 백준 2917번 : 늑대사냥꾼 --- [BFS, 다익스트라] (0) | 2020.10.23 |
(JAVA) 백준 1103번 : 게임 --- [DFS, DP] (0) | 2020.10.22 |
(JAVA) 백준 1082번 : 방 번호 --- [문자열, 그리디] (0) | 2020.10.20 |
Comments