문제가 머 이래 상각할 수 있지만
'3의 거듭제곱인 수들을 겹치지 않고 한번씩만 더해서'
라는 말은 곧
3진법으로 표현했을 때
0 또는 1 로만 이루어진 수
를 말합니다
코드입니다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
String str = Integer.toString(a,3);
if(a==0) {
System.out.println("NO");
}else if(str.contains("2")) {
System.out.println("NO");
}else {
System.out.println("YES");
}
}
}
0이면 NO
2가 포함되어있으면 NO
나머지는 YES
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 18108 JAVA 자바] 1998년생인 내가 태국에서는 2541년생?! (0) | 2023.08.29 |
---|---|
[백준 1075 JAVA 자바] 나누기 (0) | 2023.08.28 |
[백준 17103 JAVA 자바] 골드바흐 파티션 (0) | 2023.08.27 |
[백준 15894 JAVA 자바] 수학은 체육과목 입니다 (0) | 2023.08.27 |
[백준 15720 JAVA 자바] 카우버거 (0) | 2023.08.27 |