ahlight
개발 저장소
ahlight
전체 방문자
오늘
어제
  • 분류 전체보기 (197)
    • Java (7)
    • Spring (5)
    • JPA (2)
    • JavaScript (0)
    • Computer Science (12)
      • 디자인패턴, 프로그래밍 패러다임 (1)
      • 네트워크 (4)
      • 운영체제 (4)
      • 데이터베이스 (3)
      • 자료구조 (0)
    • 알고리즘 (1)
    • 프로그래머스 (13)
    • 백준 (94)
    • 서평 (3)
    • 회고 (1)
    • TIL (58)
    • 기타 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • TDD
  • 클린코드
  • Java
  • 라즈베리파이4 #홈서버 #포트포워딩 #dhcp
  • 넥스트스텝

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ahlight

개발 저장소

백준

백준 2193번 자바

2022. 12. 16. 15:59

문제

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

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net

import java.util.Scanner;

public class Main2193 {
	static int N;
	static long[] dp;

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		N = sc.nextInt();
		dp = new long[N+1];
		
		dp[1] = 1;
		for (int i=2; i<=N; i++) {
			dp[i] = dp[i-1] + dp[i-2];
		}
		System.out.println(dp[N]);
	}
}

1. 처음에 dp의 타입을 int형으로 선언했다가 오버플로우가 나면서 long으로 바꿨다. 하지만 백준에서 채점결과 틀렸습니다가 나왔을때 로직자체가 잘못된줄 알고 다른 글들을 보다가 기본형 크기의 문제라는 것을 알게됐다.

 dp[n-1] + dp[n-2]를 더하는데 초기값이 1이기에 90이 되도 그다지 큰 수가 안될거라고 생각했던게 잘못된 생각이었다.

 

2. 0자리수 0개

    1자리수 1개
    2자리수 1개 
    3자리수 2개
    4자리수 3개 
    5자리수 5개
    6자리수 8개 

6개 자리수까지 직접 구하고 수열을 발견해서 점화식을 세웠다. (i번째의 개수는 i-1 + i-2번째의 개수이다.)

이번에는 쉽게 수열을 발견해서 어렵지 않게 점화식을 세웠지만 여전히  dp문제는 쉽지 않은것 같다.

 

3. https://nahwasa.com/entry/%EB%B0%B1%EC%A4%80-2193-%EC%9E%90%EB%B0%94-%EC%9D%B4%EC%B9%9C%EC%88%98-BOJ-2193-JAVA

 

백준 2193 자바 - 이친수 (BOJ 2193 JAVA)

문제 : boj2193 1. N=1 일 때를 생각해보자. 0으로 시작하면 안되므로, 0으로 끝나는 수는 0개이고 1로 끝나는 수는 1개이다. (0과 1) 2. N=2 일 때를 생각해보자. 0으로 끝나려면 어떻게 해야 할까? 이 문

nahwasa.com

비슷한 방식으로 접근했지만 배열을 사용하지 않아 메모리를 아낀다. 이런식으로 푸는 전제 조건으로 dp를 bottom-up방식으로 풀어 나갈때 n-1, n-2만 필요하는 것을 캐치하는 것이 중요하다.

 

정리 : 정답을 맞추는거랑 별개로 다방면에서 생각을 해야 실력이 많이 늘어날 것이다. 계속해서 사고를 유연하게 유지할 수 있게 항상 고민하자.

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

백준 9251번 자바  (0) 2022.12.19
백준 11048번 자바  (0) 2022.12.17
백준 2294번 자바 ☆  (0) 2022.12.15
백준 2293번 자바 ☆  (0) 2022.12.14
백준 1463번 자바 ☆  (0) 2022.12.13
    '백준' 카테고리의 다른 글
    • 백준 9251번 자바
    • 백준 11048번 자바
    • 백준 2294번 자바 ☆
    • 백준 2293번 자바 ☆
    ahlight
    ahlight

    티스토리툴바