728x90 프로그래머스 풀이8 프로그래머스 -가장 가까운 같은 글자 - LV1 Key Point 문자열 s에서 문자를 하나씩 가져와 해당 문자가 딕셔너리에 있는지 확인한다. 없을 경우 -1을 answer에 넣어준다. 있을 경우 idx에서 딕셔너리 속 value값을 뺀 값을 answer에 넣어준다. 일련의 과정이 종료되면 딕셔너리에 해당하는 값을 갱신해준다.( 없으면 새로 추가) def solution(s): answer = [] alphabet = {} idx=0 for item in s: if item not in alphabet: answer.append(-1) else: answer.append(idx - alphabet[item]) alphabet[item] = idx idx+=1 return answer 2023. 1. 4. 프로그래머스 -크기가 작은 부분 문자열 - LV1 Key Point p 문자열 길이 기준으로 t 문자열을 자른다고 생각하면 편하다. 반복문을 돌려 모든 case를 뽑아내는데 반복문을 돌리는 횟수는 t의 길이 - p의 길이 + 1이다. 그리고 t의 문자열을 p의 문자열 길이만큼 잘라줄 것인데 t가 문자열이기 때문에 list 처럼 slicing을 해줄 수 있다. slicing한 문자열과 p의 문자열의 int값을 비교하여 조건에 부합할 경우 cnt의 값을 1 늘려준다. def solution(t, p): t_len = len(t) p_len = len(p) cnt = 0 for i in range(t_len - p_len + 1): if int(t[i:i + p_len]) 2023. 1. 4. 이전 1 2 다음 728x90