728x90
https://leetcode.com/problems/zigzag-conversion/description/
단순 구현문제였습니다.
문제에서 지그제그로 문자열을 배치하라 해서
반복문을 돌며 그대로 배치한 후
마지막에 문자열들을 인덱스별로 전부 합쳐주면 됩니다.
class Solution:
def convert(self, s: str, numRows: int) -> str:
char_list = ["" for _ in range(numRows)]
char_list_idx = 0
is_down = True
if numRows == 1:
return s
for char in s:
char_list[char_list_idx] += char
# 내려가는 방향일때
if is_down:
# 마지막 열에 도착했으면 그때부턴 올라가야한다.
if char_list_idx == numRows - 1:
is_down = False
char_list_idx -= 1
else:
char_list_idx += 1
# 올라가는 방향일때
else:
# 맨 처음 열일경우 내려가야한다.
if char_list_idx == 0:
is_down = True
char_list_idx += 1
else:
char_list_idx -= 1
return "".join(char_list)
728x90
'PS > 릿코드' 카테고리의 다른 글
[릿코드 2492] Minimum Score of a Path Between Two Cities (파이썬/python) (0) | 2023.03.22 |
---|---|
[릿코드 3] Longest Substring Without Repeating Characters (파이썬/python) (0) | 2023.03.20 |
[릿코드 2186] Minimum Number of Steps to Make Two Strings Anagram II (파이썬/python) (0) | 2023.03.08 |
[릿코드 1497] Check If Array Pairs Are Divisible by k (파이썬/python) (0) | 2023.03.08 |
[릿코드 875] Koko Eating Bananas (파이썬/python) (0) | 2023.03.08 |