백준알고리즘
https://www.acmicpc.net/problem/1475
10으로 나누어서 숫자를 가져와도 되고, 스트링으로받아서 숫자로 변환해서 사용하는 것이 더 좋을 듯 하다.
첫 번째가 정답이지만 다른 코드랑 비교해보니 내 코드는 너무 별로라 다른 코드도 아래에 붙여 넣었다.
import java.util.Scanner; //https://www.acmicpc.net/problem/1475 public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String input = scan.nextLine().trim(); int codeArray[] = new int[10]; int count = 0; for(int i=0; i<input.length(); i++) { int value = input.charAt(i) - '0'; if(count == 0) { codeArray[value]++; count++; continue; } if(value==6 || value==9) { int six = codeArray[6]; int nine = codeArray[9]; if(codeArray[value] == count && six == nine) { codeArray[value]++; count++; continue; } if(six > nine) { codeArray[9]++; } else { codeArray[6]++; } } else { if(count > codeArray[value]) { codeArray[value]++; } else if(count == codeArray[value]) { count++; codeArray[value]++; } } } System.out.println(count); } }
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] inputArray = new int[10]; int count = 0; int n = scan.nextInt(); while(n != 0) { if(n%10 == 6 || n%10 == 9) { if(inputArray[6] < count) inputArray[6]++; else if(inputArray[9] < count) inputArray[9]++; else { count++; inputArray[n%10]++; } } else { if(count == inputArray[n%10]) { count++; inputArray[n%10]++; } else inputArray[n%10]++; } n /= 10; } System.out.println(count); scan.close(); } }
'알고리즘 및 자료구조 > 문제' 카테고리의 다른 글
백준알고리즘 2577번 숫자의 개수 (0) | 2018.05.02 |
---|---|
백준알고리즘 15667번 2018 연세대학교 프로그램 (0) | 2018.05.01 |
백준알고리즘 1793번 타일링 (0) | 2018.05.01 |
백준알고리즘 11720번 숫자의 합 (0) | 2018.05.01 |
백준알고리즘 1309번 동물원 (0) | 2018.05.01 |