-
[알고리즘 문제] 각 자리수의 역과 합IT/알고리즘 2019. 1. 8. 12:46
이러한 유형의 문제들을 많이 풀어봐서 금방 해결할 줄 알았는데 알고공부를 잠깐 쉬어서 그런지 생각보다 쫌걸렸다 ㅠ
문제를 보자마자 입력받은 수를 한자리 한자리 구해 배열에 값을 넣어주고 반복문을 이용해 배열의 값들을 더해주어야겠다라고 생각하고 코드를 작성해보았다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960public class NumReverse {public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);while(true) {//입력받을 숫자가 저장될 변수int num = scan.nextInt();if(num == 0) {break;}else {int temp = num;//몇자리 숫자인가 셀 변수int count = 1;//각 자리수 숫자의 합을 저장할 변수int sum = 0;//몇자리 숫자인가?while(temp>10) {temp = temp/10;count++;}//구한 count 크기 만큼의 배열 생성int[] number = new int[count];for(int i= 0; i<count; i++) {//10으로 나눈 나머지를 배열에 저장number[i] = num%10;//몫은 다시 num에 저장num = num/10;//각 자리 숫자들의 합sum += number[i];//조건 : 유효하지 않은 0은 출력하지 않는다if(i==0 && number[i]==0) {continue;}//숫자 출력System.out.print(number[i]);}//합 출력System.out.println(" " + sum);}}}}cs 조건중에 유효하지 않은 0은 출력하지 않는다라고 하는데, 숫자 첫번째 오는 0(예: 0155)이 유효하지 않은 0이라생각하여 0일 경우 출력되지 않게 continue를 사용해주었다.딱히 크게 설명할게 없는 간단한 문제였다 ㅇvㅇ
'IT > 알고리즘' 카테고리의 다른 글
[알고리즘 문제] 백준 알고리즘 4458번 : 첫글자를 대문자로 (0) 2019.03.20 [알고리즘 문제] 팩토리얼 (0) 2019.03.18 [알고리즘 문제] 백준 알고리즘 2814번 : 최소인수 (0) 2019.03.17 [알고리즘 문제] 백준 알고리즘 1225번 : 이상한 곱셈 (0) 2019.03.11 [알고리즘 문제] 강아지와 병아리 (4) 2019.01.06