728x90
반응형

Algorithm/Python 80

[programmers]python 12943 콜라츠 추측

# 콜라츠 추측 # 주어진 수가 1이될때 까지 # 짝수면 2로 나누고 # 홀수면 3을 곱하고 1을 더하고 # 1이될때까지 반복 500번 반복할동안 1이 안되면 -1 리턴 # 1이 되면 몇번 반복했는지 리턴 # 만약 주어진게 1이면 0리턴 def solution(num): answer = 0 if num==1: return 0 for i in range(1,501): # print(i) # 진행상황 if num %2==0: # 짝 num/=2 elif num%2==1: # 홀 num=(num*3)+1 if num==1: print(i) return i elif i==500 and num !=1: print(i) return -1 print(solution(6)) #8 print(solution(16)) #..

Algorithm/Python 2024.01.24

[programmers]python 131705 삼총사

# 삼총사 # 학생이 담긴 배열이 주어질때 # 세 학생의 정수를 더했을때 0이되면 3총사 # 반복문 3번사용해서 0 나오는거 해볼까? 아니네 ㅋ # 반복문은 그대로 3번 사용할껀데... 시작을 다르게 해서 짜보자 # 간단하게 줄여서 짜보자.... # def solution0(number): # answer = 0 # wer=[] # for i in range(len(number)): # 일단 반복문으로 [0]-[:-1]번 인덱스를 가져와 얘로 만들어보자 # for j in range(i+1,len(number)): # [1]번 인덱스를 가져오자 # for k in range(j+1,len(number)): # [2]번 값을 가져오자 # if number[i]+number[j]+number[k]==0 an..

Algorithm/Python 2024.01.17

[programmers]python 161989 덧칠하기

# 덧칠하기 # 페인트 칠해진 길이가 n미터인 벽 # 페인트 벗겨진곳 덧칠하기(일부만 칠하기) # 1미터 길이의 구역 n개로 나누고 1 - n까지 번호를 붙히고 # 페인트 칠하는 롤러의 길이는 m미터 이고 # n의 길이의 벽을 m의 길이를 가진 롤러로 칠하는데 section의 벽을 칠해야함 # 어떻게 풀어야 할까>>>??? n이 최대 길이인데 m만큼 칠한다..인데 배열의 수가 포함이여야한다. # 덧칠하는 시작점을 잡고 반복해서 풀면 코드도 간단해지고 정확하다. def solution(n, m, section): answer = 1 # 칠하는 횟수 paint = section[0] # 덧칠 시작점 for i in range(1, len(section)): # 섹션 길이만큼 반복 if section[i] >..

Algorithm/Python 2024.01.16

[programmers]python 120836 순서쌍구하기

# 순서쌍구하기 # 두개의 수의 곱이 n이 나오도록 하는수중 몇개가 나오나 # 최대로 나올수있는수는 n의 수 # 반복문으로 길이만큼 # 시간초과???? 너무 생각을 복잡하게했다... def solution(n): answer = 0 # 정방향 하나 역방향 하나를 구현해 코드 시간을 줄이자 for i in range(1,n+1): # range(start,end,step)구조로 step에 -1를 넣으면 역순 # reversed(range(n+1)) 같은 형식으로 reversed로도 사용 가능 # for j in range(n,0,-1): # if i*j == n: # print(i,j,"i와j") # answer+=1 # break if n % i == 0: answer += 1 # print(i) ret..

Algorithm/Python 2024.01.16

[programmers]python 147355 크기가 작은 부분문자열

# 크기가 작은 부분 문자열 # 숫자 문자열 t,p가 주어질때 t에서p와 길이가 같은 부분문자열중 # 이 부분 문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은것 return # p의 길이만큼 t의 문자열을 나누고 그 나눈 문자열중 p보다 작은 문자열 수를 return # t의 길이만큼 반복하며 배열에 담고 그 배열을 하나씩 비교하자.. def solution(t, p): answer = 0 # 낮은 문자열 수 # print(len(p)) # 문자열 길이 a=[] b='' cnt=0 # print(len(t),len(p)) for i in range(len(t)): # t 길이만큼 반복 for j in range(len(p)): # p 길이만큼 반복 if cnt-1 ==len(t)-len(p): ..

Algorithm/Python 2024.01.12

[programmers]Python 181932 코드처리하기

# 코드처리하기 # code를 앞부터 읽으며 문자가 1이면 mode 변경 # mode에 따라 code를 읽으며 문자열 ret 생성 # mode는 0 / 1 이 있으며 idx 를 0부터 code 길이 -1 까지 키워나가며 # code[idx] 값에 따라 행동 # 0일때 code[idx]가 1이면 idx가 짝수일때만 ret의 맨뒤에 code[idx] 추가 # 1일때 code[idx]가 1이면 idx가 홀수일때만 ret의 맨뒤에 code[idx] 추가 # 시작은 0 # 문자열 추가는 + / 배열에서의 추가는 append # 길이만큼 빼고 모드를 나눠 처리.. def solution(code): ret = '' mode=0 for i in range(0,len(code)): if mode==0 : if code..

Algorithm/Python 2024.01.05

[programmers]python 120854 배열의 원소길이

# 배열 원소의 길이 # strlist가 매개변수로 주어진다. # 배열속 문자열의 크기를 배열로 return # 난이도가 생각보다 쉬우니.. 더 간편하게 짜볼까? # list와 map으로 묶으면 라인으로 끝낸다 def solution(strlist): answer = [] for i in strlist: answer.append(len(i)) return answer def sol(strlist): return list(map(len,strlist)) print(sol(["We", "are", "the", "world!"]))

Algorithm/Python 2023.12.21

[programmers]python 181832 정수 나선형으로 배치하기

# 나선형으로 배치하기 # n 이 주어지면 n x n 배열을 만듬 근데 # 나선형으로 배치하는??? 어떻게 하는겨... # 이번적인 배열은 완성... 그런데 나선형? # 아니면 2차원 배열에 하나씩 넣어보자 # 일단 배열을 초기화 해주고 # 순서에 때려박어 def solution(n): if n ==1 : return [[1]] # 배열 초기화 answer=[[0 for j in range(n)]for i in range(n)] x=0 # x/y 값을 초기화 해서 하나씩 집어넣자 y=0 case = 6 # 키패드 방향키 순 4862 for i in range(n*n): answer[x][y]= i+1 # 일단 옆으로 한줄 if case == 6: y +=1 if y == n-1 or answer[x][y..

Algorithm/Python 2023.12.19
728x90
반응형