일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- jgrp000032 #ocp #
- 네트워크 #NW
- shell #shell script
- bootstrap #css #CSS
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- CI #CD #CI/CD
- 백준 #10430
- DB #mariaDB #SQL
- Grid #CSS
- 오블완
- EKS
- Excel #엑셀
- jmap #jstack
- Node #POD #Container
- publishnotreadyaddress
- istio #k8s #kubernetes
- Linux #wc
- lvm #lv #vg #pv
- dify
- Kafka #카프카
- function #사용자 정의 함수
- lenova #레노버 #노트북
- 티스토리챌린지
- test #비교
- NameSpace #NS
- EFK
- OCP
- dump #jattach
- Swap Memory
- Python #pakage
- Today
- Total
목록Algorithm/Python (82)
BEOM_IT
# 핸드폰번호 가리기 # 뒷자리 4개를 제외하고 *로 변경 def solution(phone_number): answer = '' # 앞자리 # print(phone_number[:-4]) # 뒷자리 제외하고 * 입력 for i in range(len(phone_number[:-4])): answer+="*" # 뒷자리 # print(phone_number[-4:]) answer+=phone_number[-4:] return answer print(solution("01033334444")) #4444 print(solution("027778888")) #8888
# 콜라츠 추측 # 주어진 수가 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)) #..
# 삼총사 # 학생이 담긴 배열이 주어질때 # 세 학생의 정수를 더했을때 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..
# 덧칠하기 # 페인트 칠해진 길이가 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] >..
# 순서쌍구하기 # 두개의 수의 곱이 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..
# 크기가 작은 부분 문자열 # 숫자 문자열 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): ..
# 제곱수 판별하기 # 어떤 자연수를 제곱했을때 나오는정수 = 제곱수 # n 이 주어질때 제곱수면 1 아니면 2 # n 이 제곱수인지를 판단하려면 ??? # 제곱수... 4 9 16....등등 # 반복문 후 i의 제곱값이 n과 같은지 def solution(n): for i in range(n): if i**2==n: # print(i) return 1 return 2 print(solution(144)) print(solution(4)) print(solution(6))
# 코드처리하기 # 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..