Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 실전sql퀵스타트
- 다이나믹프로그래밍
- zshrc
- 데이터엔지니어
- 파이썬
- 데이터엔지니어링
- spaghetti code
- 에라토스테네스의채
- 대학생알고리즘특강
- 소프티어
- 백준
- code golf
- 알고리즘특강
- 현대자동차그룹
- 그리디알고리즘
- open(0)
- 표준입력
- IDA*
- 윈도우클린설치
- 도커
- hmg소프티어부트캠프
- 우분투22.04
- ucpc
- 피보나치수
- 그래프
- 소프티어부트캠프
- Python
- 현대자동차
- boj
- 비트집합
Archives
- Today
- Total
Neo Ground
Python Code Spaghettifier 본문
N = 1
exec(''.join(map(chr,[115,61,111,112,101,110,40,48,41,46,114,101,97,100,40,41,10,102,111,114,32,95,32,105,110,39,20984,39,42,78,58,115,61,34,101,120,101,99,40,39,39,46,106,111,105,110,40,109,97,112,40,99,104,114,44,91,34,43,39,44,39,46,106,111,105,110,40,109,97,112,40,115,116,114,44,109,97,112,40,111,114,100,44,115,41,41,41,43,34,93,41,41,41,34,10,112,114,105,110,116,40,115,41,10])))
스파게티 코드를 생성하는 파이썬 코드를 만들었다.
위 코드를 실행한 뒤 터미널에 spaghettify 할 코드를 입력 후 EOF 신호를 주면 (Windows는 Ctrl+Z, Linux는 Ctrl+D)
Spaghettify 된 코드가 출력된다.
$N$의 값을 변경함으로써 더욱 복잡하게 만들 수 있으며 코드의 길이는 지수적으로 증가한다.
$N$번 spaghettify 후의 코드의 길이를 $L(N)$이라 하면 그 길이는
$L(N+1) = 3*L(N)+36\ (N\geq 1)$
의 점화식을 가진다.
다음은 백준의 1000번의 실행 코드를 spaghettify한 결과이다.
# 기존 코드
print(eval(input().replace(' ','+')))
# 출력 코드
exec(''.join(map(chr,[112,114,105,110,116,40,101,118,97,108,40,105,110,112,117,116,40,41,46,114,101,112,108,97,99,101,40,39,32,39,44,39,43,39,41,41,41,10])))
'기타' 카테고리의 다른 글
소프티어부트캠프 4기 데이터엔지니어링: 수강에서 채용전환까지 (80) | 2024.10.29 |
---|---|
소프티어부트캠프 4기 데이터엔지니어링: 지원에서 합격까지 (3) | 2024.10.29 |
[Mac] Docker 빌드 완료 알림 (0) | 2024.09.01 |
2024년 상반기 삼성 SDS 대학생 알고리즘 특강 후기 (4) | 2024.02.28 |