[BOJ 16968] 차량 번호판1 (Java)

nnm·2020년 2월 23일
0

BOJ 16968 차량 번호판1

문제풀이

간단한 조합 문제인데 조합의 개념을 까먹지 말자는 의미에서 기록한다.

  • 문자 또는 숫자가 두 번 연속으로 나오지만 않으면 된다.
  • 따라서, c일 때 직전이 c라면 25를 곱하고 아니면 26을 곱한다. d일 때 직전이 d라면 9를 곱하고 아니면 10을 곱한다.

ddd일 경우 10 * 9 * 9가 되는 것 이다.

구현코드

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		char[] template = sc.next().toCharArray();
		int result = 1;
		
		for(int i = 0 ; i < template.length ; ++i) {
			if(i == 0) {
				if(template[i] == 'c') result *= 26;
				else result *= 10;
			} else {
				if(template[i] == 'c') {
					if(template[i - 1] == 'c') {
						result *= 25;
					} else {
						result *= 26;
					}
				} else {
					if(template[i - 1] == 'd') {
						result *= 9;
					} else {
						result *= 10;
					}
				}
			}
		}
		System.out.println(result);
	}
}
profile
그냥 개발자

0개의 댓글