[백준] 24040 - 예쁜 케이크 (Python, Java)

안우진·2022년 1월 30일
0

백준

목록 보기
5/21

[문제]

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

[풀이]

부피인 정수 N이 입력으로 주어진다.
높이가 1이므로 가로를 w, 세로를 h라 하면 w*h = N 이다.
장식용 띠는 빨간색, 초록색, 하얀색 총 3가지가 있으므로 예쁜 케이크를 만들려면
(w+h)%3 == 0 을 만족해야한다.

(w+h)%3 == 0 이 만족하려면 다음 3가지 중 하나를 만족하면 된다.

  • w%3 == 1, h%3 == 2 => wh%3 == 2
  • w%3 == 2, h%3 == 1 => wh%3 == 2
  • w%3 == 0, h%3 == 0 => wh%9 == 0

즉, N%3 == 2 또는 N%9 == 0 일 때 예쁜 케이크를 만들 수 있다.

코드

[Python3]

1
2
3
4
5
6
for _ in range(int(input())):               
    N = int(input())
    if N%3 == 2 or N%9 == 0:
        print('TAK')
    else:
        print('NIE')
cs

[Java]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {               
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        while(T-->0){
            long N = sc.nextLong();
            if(N%3==2 || N%9==0){
                System.out.println("TAK");
            }else{
                System.out.println("NIE");
            }
        }
        sc.close();
    }
}
cs

1 ≤ N ≤ 10¹⁸ 이므로 long 타입으로 받아야 한다.

0개의 댓글