programmers- lv.1 (가장 가까운 같은 글자)

이예송·2023년 7월 14일

PS

목록 보기
30/97

문제링크: 가장 가까운 같은 글자

✍🏻 Information

content
언어python
난이도⭐️+0.5
풀이시간5분
제출횟수2
인터넷검색유무yes




🍒 My Code

def solution(s):
    answer = []
    for idx, c in enumerate(s): 
        string = s[:idx]
        if string.rfind(c)==-1:
            answer.append(-1)
        else:
            answer.append(idx - string.rfind(c))
    return answer




💡 What I learned

  • str.rfind(finding_str): str에서 finding_str 있는지 뒷부분부터 검색

  • 인덱스(index)와 원소를 동시에 접근하면서 for문
    : for 요소의_인덱스, 요소 in enumerate(리스트):

for entry in enumerate(['A', 'B', 'C']):
     print(entry)

(0, 'A')
(1, 'B')
(2, 'C')
for i, letter in enumerate(['A', 'B', 'C']):
     print(i, letter)

0 A
1 B
2 C
  • enumerate에서 시작 인덱스 변경
    : start인자에 원하는 시작 인덱스 넣어줌
for i, letter in enumerate(['A', 'B', 'C'], start=101):
     print(i, letter)

101 A
102 B
103 C
  • 2차원 배열에서의 enumerate
for r in range(len(matrix)):
     for c in range(len(matrix[r])):
             print(r, c, matrix[r][c])

0 0 A
0 1 B
0 2 C
1 0 D
1 1 E
1 2 F
2 0 G
2 1 H
2 2 I

0개의 댓글