728x90
반응형
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 칸토어 집합을 만들기 위한 과정을 함수로 정의하면 def Func(N)
- 입력으로 들어온 수가 1이면 -를 반환하며 해당 과정을 멈춘다. if (N == 1): return '-'
- 수가 1이 아니면 해당 수를 3 등분하여 왼쪽, 가운데, 오른쪽 부분으로 나눈다.
- 왼쪽 부분은 다시 한번 해당 과정을 수행한다. left = Func(N // 3)
- 가운데 부분은 문자열을 공백으로 바꾼다. center = ' ' * (N // 3)
- 오른쪽 부분도 다시 한번 해당 과정을 수행한다. right = Func(N // 3)
- 왼쪽, 가운데, 오른쪽 부분의 각 문자열을 하나의 문자열로 합쳐 반환해 준다. return left + center + right
- 파일의 끝에서 입력을 멈추기 위해 무한 반복문을 사용하고 while (True)
- 예외처리를 해주기 위해 try except 구문을 사용한다. try
- 정수를 입력받는다. N = int(sys.stdin.readline())
- 3의 해당 수 제곱을 인수로 하여 함수를 실행시키고 칸투어 집합을 만들어 결과를 저장한다. result = Func(3 ** N)
- 칸투어 집합을 출력한다. print(result)
- 파일의 끝이면 except
- 반복을 종료한다. break
반응형
3. 소스코드
import sys
def Func(N):
if (N == 1):
return '-'
left = Func(N // 3)
center = ' ' * (N // 3)
right = Func(N // 3)
return left + center + right
while (True):
try:
N = int(sys.stdin.readline())
result = Func(3 ** N)
print(result)
except:
break
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 9663번 : N-Queen - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.19 |
---|---|
[백준] 15652번 : N과 M (4) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.18 |
[백준] 15651번 : N과 M (3) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.17 |
[백준] 2447번 : 별 찍기 - 10 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.16 |
[백준] 24060번 : 알고리즘 수업 - 병합 정렬 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.14 |
[백준] 25501번 : 재귀의 귀재 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.13 |
[백준] 20920번 : 영단어 암기는 괴로워 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.12 |
[백준] 2108번 : 통계학 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.11 |