
작성하면서 생각한 것은 num_list에서도 하나씩 반복해야하고 한 값에서도 반복을 해서 1이 될때까지 몇 번 나누기를 사용했는지 알아야하기 때문에 반복문을 2번을 사용해야한다. num_list 각 인덱스 반복은 for를 사용하고 하나의 값을 1로 만들때까지의 반복은 while을 사용했다. 확실히 참이면 계속 반복을 하는 것은 while이 편한 것 같다! 처음에 for를 두 번 사용할까 했는데 나에게는 조금 어려웠다. def solution(num_list): answer = 0 for i in range(len(num_list)):#num_list를 반복하자!! while num_list[i] != 1:#num_list[i]이 1이 아니라면 계속 반복하자 if num_list[i]%2==0:#num_l..

어떻게 풀면 쉽게 풀 수 있을까 생각을 해보니 첫 번째 예를 보면 3으로 나눠서 나머지가 1이 나오는 것은 1, 4, 7, 10, 13...r을 시작으로해서 q만큼 차이가 나는...즉, 첫째항이 r이고 공차가 q인 등차수열을 나타내면 된다. code에 대한 슬라이싱을 위와 같은 등차수열을 생각하고 작성하면 된다. def solution(q, r, code): answer = '' answer = code[r::q] return answer

def solution(n, slicer, num_list): answer = [] [a,b,c] = slicer #slicer의 변수 설정 if n==1: #그 다음부터는 문제 그대로... answer = num_list[:b+1] #b+1을 해줘야 슬라이싱할때는 b까지 된다! elif n==2: answer = num_list[a:] elif n==3: answer = num_list[a:b+1] elif n==4: answer = num_list[a:b+1:c] return answer

리스트 요소끼리 교체를 해야해서 검색해보니 swap이란 것이 있었다. arr = [a, b] arr[0], arr[1] = arr[1], arr[0] arr = [b, a] 이걸 이용해 코드를 작성해주었다. def solution(arr, queries): answer = arr for i in range(len(queries)): [s,e] = queries[i] arr[s],arr[e] = arr[e],arr[s] return answer

문제가 너무 길다...요약하면 mode가 0이면 짝수 인덱스 값을! mode가 1이면 홀수 인덱스 값을 추가해서 최종 값을 도출하는 것이다. def solution(code): answer = '' mode = 0 # 모드를 for문 밖에서 설정해준다. for i in range(len(code)): if code[i] != '1': # 1은 문자열이므로 따옴표 붙여줘야한다! if mode == 0: if i%2==0: answer += code[i] else : # mode가 1 이면... if i%2==1: answer += code[i] elif code[i] == '1': mode = 1 - mode # mode를 반전 if answer == '': # 빈 문자열인 경우 "EMPTY"를 반환합니다..

ineq가 "" 중 하나고, eq는 "="와 "!" 중 하나다! ineq와 eq가 각자 하나씩 할당할 때(총 4가지 경우)를 조건으로 설정하고 그 때 n과 m의 비교가 맞다면 answer에 1을 부여하는 식으로 작성했다. cf. 비교할 때는 "==" 이다!!! 계속 까먹네 ㅠㅠㅠ def solution(ineq, eq, n, m): answer = 0 #각각의 경우를 보려고 했다! if ineq == ">" and eq == "=": if n >= m : answer = 1 elif ineq == "" and eq == "!": if n > m: answer = 1 elif ineq == "

def solution(myString, pat): answer = '' for i in range(len(myString)-len(pat)+1): # pat길이만큼 myString 처음부터 한 칸씩 뒤로가며 일일이 대조 if myString[i:i+len(pat)]==pat: # myString에서 pat길이만큼 대조하는데 그것이 pat과 같으면 (중복되면 마지막까지...만약에 짧게 만들어야하면 break로 끊어야한다.) answer = myString[:i+len(pat)] # answer에 myString 처음부터 대조에 일치하는 i에서 하나 전만큼인데 거기에 pat의 길이만큼 더해야 pat의 문자열까지 포함이 된다. return answer