코딩테스트 & 문제 풀이

[C]백준_2193 : 이친수

2023. 11. 2. 00:01

2022년 12월 1일에 작성됨

 

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

 

2193번: 이친수

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

www.acmicpc.net

 

 

 

문제 분석

N 이친수 이친수 개수
1 1 1
2 10 1
3 100, 101 2
4 1000, 1001, 1010 3
5 10000, 10001, 10010, 10100, 10101 5
... ... ...

 

규칙을 찾아보면
이친수의 개수 = (전전 이친수 + 전 이친수)의 개수가 된다.

 

 

 

소스 코드 (⭕)

#include <stdio.h>

int main()
{
	int i, n;
	long long DP[91] = { 0 };
	
	scanf("%d", &n);

	DP[1] = 1;
	DP[2] = 1;

	for (i = 3; i <= n; i++)
	{
		DP[i] = DP[i - 2] + DP[i - 1];
	}
	printf("%lld\n", DP[n]);

	return 0;
}

 

코드 분석

1. 경우의 수를 더하는 과정에서 결과값이 엄청 커질 수 있기 때문에 배열의 자료형을 long long으로 선언해주고 0으로 초기화 해준다.

2. n을 입력받고, 인덱스 1과 2의 요소 값을 1로 설정해준다.

3. for문으로 i는 3부터 n까지 반복해주어 DP[n] = DP[n-2] + DP[n-1] 식을 구해준다.

4. 배열을 long long 형으로 선언해줬기 때문에 %lld 형식으로 n자리 이친수의 개수인 DP[n]을 출력한다.

 

 

 

end

문제를 검색해보니 배열 이름을 DP로 해놓은 분들이 많아서 DP가 뭐지 싶었는데 다이나믹 프로그래밍의 줄임말이었다ㅋㅋㅋ!

 

 

 

'코딩테스트 & 문제 풀이' 카테고리의 다른 글

[Python]백준_1269 : 대칭 차집합  (2) 2023.11.04
[Python]백준_9733 : 꿀벌  (0) 2023.11.03
[C]백준_13699 : 점화식  (1) 2023.11.01
[C]백준_9625 : BABBA  (0) 2023.11.01
[Python]백준_18238 : ZOAC 2  (1) 2023.11.01
  1. 문제 분석
  2. 소스 코드 (⭕)
  3. 코드 분석
  4. end
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
  • [Python]백준_1269 : 대칭 차집합
  • [Python]백준_9733 : 꿀벌
  • [C]백준_13699 : 점화식
  • [C]백준_9625 : BABBA
Hicecream
Hicecream
Hicecream
Hicecream
Hicecream
전체
오늘
어제
  • 분류 전체보기 (199)
    • 코딩테스트 & 문제 풀이 (159)
    • 동아리 활동 (8)
    • 외부 활동 (0)
    • 대학 과제 (3)
    • Git & Git Hub (5)
    • 코딩 프로젝트 (1)
    • 공부 메모 (17)
    • 일상 (2)
    • 참고사항 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Bronze 5
  • Code up
  • 수학
  • 문자열
  • C언어 기초 100제
  • Bronze 1
  • 구현
  • Java
  • Silver 4
  • BOJ
  • Bronze 2
  • programmers
  • 사칙연산
  • LV1
  • Bronze 3
  • Silver 5
  • 정렬
  • Bronze 4
  • C
  • python

최근 댓글

최근 글

hELLO · Designed By 정상우.
Hicecream
[C]백준_2193 : 이친수
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.