2023. 7. 14. 20:40ㆍHackerRank-Python
Alphabet Rangoli | HackerRank
Let's draw rangoli.
www.hackerrank.com
문제
You are given an integer, N. Your task is to print an alphabet rangoli of size N. (Rangoli is a form of Indian folk art based on creation of patterns.)
코드
def print_rangoli(size):
al = 'abcdefghijklmnopqrstuvwxyz'
for i in range(size):
half_up = '-'.join(al[size-1: size-i-1: -1] + al[size-i-1:size])
print(
half_up.center(4*size-3, '-')
)
for j in range(size-1, 0, -1):
half_down = '-'.join(al[size-1: size-j: -1] + al[size-j: size])
print(
half_down.center(4*size-3, '-')
)
if __name__ == '__main__':
n = int(input())
print_rangoli(n)
노트
from string import ascii_lowercase
al = list(ascii_lowercase)
def print_rangoli(size):
# your code goes here
for i in range(size):
left = '-'.join(al[size-1: size-i-1: -1])
mid = al[size-i-1].center(3,'-')
right = '-'.join(al[size-i: size])
print(
(left + mid + right).center(2*size + 7, '-')
)
for j in range(size-1):
right = al[j+1:size]
print(
right
)
if __name__ == '__main__':
n = int(input())
print_rangoli(n)
- 답지 안보고 만든 내 코드....첫 번째만 통과고 나머지는 다 탈락이더라 ㅋㅋㅋㅋ
두 번째 시도
def print_rangoli(size):
# your code goes here
al = 'abcdefghijklmnopqrstuvwxyz'
for i in range(size):
left = [al[size-j-1] for j in range(i)]
left.extend(al[size-i-1])
left.extend(al[size-j] for j in range(i, 0, -1))
k1 = '-'.join(left)
print(k1.center(4*(size-1)+1, '-'))
for k in range(1,size):
k2 = al[size-1: k:-1]+ al[k]+ al[k+1: size]
print('-'.join(k2).center(4*(size-1)+1, '-'))
if __name__ == '__main__':
n = int(input())
print_rangoli(n)
# y = 2(x-1) + 1
# y = ax + b
# y = 4x - 3
# y = 4(x-1) + 1
참조
[Python] 알파벳 자동 생성 방법(리스트, 딕셔너리 등)
코딩 테스트나 과제 수행 시 알파벳의 갯수 등의 파악을 위해 알파벳 리스트가 필요한 경우가 있습니다. alphabet_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
angelplayer.tistory.com
Python - 리스트를 문자열로 변환
List를 문자열로 변환하는 방법을 소개합니다. 반복문을 이용하여 리스트를 문자열로 변환하는 코드를 구현, `join()`을 이용하면 다음과 같이 리스트를 문자열로 변환할 수 있음, 또한, `map()`과 joi
codechacha.com
리스트 슬라이싱 - Codetorial
리스트 슬라이싱 리스트의 일부 구간 또는 요소를 가져오고 싶을 때 슬라이싱을 사용할 수 있습니다. a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(a[3:5]) print(a[:4]) print(a[7:]) [4, 5] [1, 2, 3, 4] [8, 9, 10] a[3:5]는 a[3]
codetorial.net
Alphabet Rangoli (Python 3)
URL : https://www.hackerrank.com/challenges/alphabet-rangoli/problem
hmkim312.github.io
'HackerRank-Python' 카테고리의 다른 글
Prepare > Python > Sets > Introduction to Sets (1) | 2023.07.17 |
---|---|
Prepare > Python > Strings > Capitalize! (0) | 2023.07.15 |
Prepare > Python > Strings > String Formatting (0) | 2023.07.12 |
Prepare > Python > Strings > Designer Door Mat (0) | 2023.07.11 |
Prepare > Python > Strings > Text Wrap (0) | 2023.07.10 |