본문 바로가기
백준알고리즘

백준알고리즘:p1436 영화감독 숌

by socialcomputer 2021. 3. 7.

분류: 브루트포스

 

문제

 

코드

//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class p1436 {
//영화감독 숌
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		try {
		int n = Integer.parseInt(br.readLine());
		//666, 1666 2666 3666 4666 5666 6666 6661 6662 6663 6664 6665 6666 6667 6668 6669 7666 8666 9666
		//10666 11666 12666 13666 14666 15666 /16660 16661 16662 16663 16664 16665 16666 16667 16668 16669
		//17666 18666 19666
		int number = 666;
		int count = 1;
		while(count<n) {
			number++;
			if(String.valueOf(number).contains("666")) count++;
			
		}
		bw.write(number+"\n"); bw.flush();
		}catch (Exception e) {	e.printStackTrace();	}
	}

}

▶케이스를 나눠서 풀어야 하나 어떻게 푸는지 고민을 많이 해봤는데

그냥 666부터 숫자를 증가시켜 문자열 666을 포함하면 count를 증가시켜서

입력받은 수와 count가 같으면 중단하도록 해

그 숫자가 영화제목이 되는 식으로 풀었다.

 

String.valueOf() vs. toString()

둘 다 문자열로 바꾸는 것이긴 하지만 차이가 있다. 

두 메소드 모두 Object의 값을 String으로 변환하지만, 그 Object가 null인 경우엔 다르다!

  • String.valueOf() : 파라미터가 null이면 문자열 "null"을 만들어서 반환한다.
  • toString() : 대상 값이 null이면 NPE를 발생시키고 Object에 담긴 값이 String이 아니여도 출력한다.

 

NPE(NullPointerException) 란?

null 값을 가진 객체를 참조하려고 했을 때 일어나는 Exception 이다.

이를 방지하기 위해선, toString()보단 String.valueOf()를 쓰는 것이 좋다.

 

▶String.valueOf()

또, 저번에 char타입을 String으로 어떻게 바꾸는지 모르겠어서

다른 문제들에서 char를 String으로 바꾸는 방식을 사용안하게 하느라 힘들었는데...

String.valueOf()를 쓰면 가능하다.

▶valueOf()

valueOf()는 객체를 리턴한다, 그래서

Integer.vlaueOf("123") 하면 Integer객체가 반환되는데

Integer.parseInt("123")를 하면 기본자료형 int가 반환된다.


채점결과

 

링크 www.acmicpc.net/problem/1436

 

1436번: 영화감독 숌

666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타

www.acmicpc.net

 

'백준알고리즘' 카테고리의 다른 글

백준알고리즘:p5622 다이얼  (0) 2021.03.08
백준알고리즘:p2908 상수  (0) 2021.03.08
백준알고리즘:p7568 덩치  (0) 2021.03.06
백준알고리즘:p2231 분해합  (0) 2021.03.03
백준알고리즘:p2798 블랙잭  (0) 2021.03.02

댓글