자바 문법
자바 369게임, 특정 문자를 포함 할 경우에 0 출력하기
Nickman
2024. 4. 4. 09:34
https://www.codetree.ai/missions/4/problems/369-game?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
나의 경우 특정 문자를 포함할 경우에 0을 출력했다. 그래서 정수를 문자열로 변환하는 Integer.toString 과 같은 함수를 사용하였다. 그리고 s.contains() 함수를 통해서 포함할 경우의 출력을 구현했다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 여기에 코드를 작성해주세요.
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
for(int i=1;i<=n;i++){
String s=Integer.toString(i);
if(s.contains("3")||s.contains("6")||s.contains("9")||i%3==0){
System.out.print(0+" ");
}else{
System.out.print(i+" ");
}
}
}
}
문제의 해설에서는 함수가 아닌 수학을 이용한다.
문제의 입력 형식에서 1<=n<=100 이라는 조건이 주어졌기 때문에, n 을 10으로 나누었을 때 몫 또는 나머지가 3,6,9 인 경우이다. 몇 번만 직접 해보면 정말 좋은 아이디어라는 것을 알 수 있다. ex) 23/10=2...3