반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프로그래머스 파이썬
- 자료구조
- 2022년 정보처리기사 실기
- 자바
- 백준 백트랙킹 파이썬
- 2022년 정보처리기사 실기 1회 가답안
- 백준 백트랙킹
- dfs
- 백준
- 정보처리기사
- 코딩테스트
- 2022년 정보처리기사 실기 가답안
- BFS
- 파이썬
- 정보처리기사 실기 시험
- 그리디
- 백준 토마토 파이썬
- 프로그래밍
- 백준 N-Queens
- it
- 정보처리기사 실기
- 프로그래머스
- 코딩
- BOJ
- 코드
- 백준 그래프 이론 파이썬
- 알고리즘
- 백준 그래프 탐색 파이썬
- python
- 토마토
Archives
- Today
- Total
코딩,안되면 될때까지
10610-30 본문
728x90
반응형
<문제>
https://www.acmicpc.net/problem/10610
<풀이>
-포인트-
1) 30의 배수이므로 일의자리 숫자는 무조건 0이다. 따라서 입력받은 숫자에 0이 반드시 포함되어야 한다.
2) 30의 배수이기 위해선 3의 배수이기도 해야한다. 3의 배수가 되기위해선 각 자리의 수를 더했을때 3의 배수가 되어야한다.
-파이썬-
s = list(input())
s.sort(reverse=True)
sum = 0
for i in s:
sum+=int(i)
if sum%3!=0 or "0" not in s:
print(-1)
else:
print(''.join(s))
※join 함수
: 리스트의 각 요소들을 하나의 문자로 이어주는 함수
《" 구분자".join(리스트)》
-java코드-
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
ArrayList<Character> list = new ArrayList<Character>();
for(int i = 0;i<s.length();i++){
list.add(s.charAt(i));
}
list.sort(Comparator.reverseOrder());
int sum = 0;
for(int i = 0;i<list.size();i++){
sum+=Character.getNumericValue(list.get(i));
}
if((sum%3!=0) || (list.contains('0')==false)){
System.out.println(-1);
}
else{
String str="";
for(Character lists:list){
str+=lists;
}
System.out.println(str);
}
}
}
728x90
반응형
Comments