본문 바로가기
CS/Algorithm

[알고리즘][문자열][1475] 방번호

by 별토끼. 2018. 4. 8.
반응형

[알고리즘][문자열][1475] 방번호



https://www.acmicpc.net/problem/1475



[풀이]

  • 입력을 받은 뒤 숫자로 변환해주고 몇 번씩 쓰였는지 counting한다.
  • 6과 9의 값을 합쳐서 나누기를 이용한 계산을 한다. (주석참고)
  • for문으로 전체에서 가장 큰 값을 고른 뒤 출력


[코드]

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package algorithm_String;
 
import java.util.Scanner;
 
public class q_1475 {
 
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] num = scan.nextLine().split("");
        int[] card = new int[num.length];
        int[] number_card = new int[10];
        for(int i=0;i<num.length;i++) {
            card[i] = Integer.parseInt(num[i]);
            number_card[card[i]]++;
        }
        
        
        //1. 6, 9 의 합친 값의 몫 --> 나머지 있으면 몫+1 / 없으면 몫
        number_card[9+= number_card[6];
        
        if(number_card[9]%2==0) {
            number_card[9]/=2;
        }else {
            number_card[9]/=2;
            number_card[9]+=1;
        }
        
        int max = number_card[0];
        
        //1. 6 제외한 나머지 중 가장 큰 수 max 값에 넣기
        for(int i=1;i<number_card.length;i++) {
            if(i==6continue;
            if(number_card[i]>max) {
                max=number_card[i];
            }
        }
        
        
        //3. max값 출력
        System.out.println(max);
    }
 
}
 
cs


반응형

댓글