>> 문제
>>입출력 예시
in : 1
out : 4
in : 2
out : 7
in : 3
out : 44
>>문제 해결에 대한 생각
- 창영이는 4와 7로만 숫자를 구성 => 이진수와 비슷하다고 생각
- 규칙을 찾은 다음 이진수의 0을 4로 / 1을 7로 변환해보자
>> 대소관계
1 1 | 4 0
2 10 | 7 1
3 11 | 44 00
4 100 | 47 01
5 101 | 74 10
6 110 | 77 11
7 111 | 444 000
8 1000 | 447 001
9 1001 | 474 010
10 1010 | 477 011
11 1011 | 744 100
12 1100 | 747 101
13 1101 | 774 110
14 1110 | 777 111
15 1111 | 4444 0000
16 10000 | 4447 0001
17 10001 | 4474 0010
18 10010 | 4477 0011
19 10011 | 4744 0100
20 10100 | 4747 0101
=> 숫자의 관계를 보면
=> (input+1을 이진수화한 코드) = 4,7을 2진수로 인코딩화 시킨 숫자에서 맨 처음 코드를 제외한 것
예를 들어
6-> 77(11) 인데 이 값은
7(111)에서 앞의 값 1을 제외한 2진코드 11과 같음
15 -> 4444(0000) 인데 이 값은
16 (10000)에서 앞의 값 1을 제외한 2진 코드 0000과 같음
따라서
step1. input+1을 이진코드로 바꾸고
step2. 앞의 숫자 1을 제외하고 이진코드 뽑기
step3. 0-> 4 / 1-> 7로 변환
>> 코드
'백준 문풀' 카테고리의 다른 글
[Python] 그리디 - 1449. 수리공 항승 (실3) (0) | 2023.07.28 |
---|---|
[Python] 그리디- 4796. 캠핑(브1) (0) | 2023.07.28 |
[Python] 요세푸스 문제(1158) /시간초과 극복 (0) | 2023.04.09 |
[Python] 라면사기 (Small) / 예외상황 고려 (0) | 2023.04.04 |
[Python] 백준 18870 : 좌표 압축 / 시간초과 극복 (0) | 2023.03.23 |