목록파이썬/문제 (24)
배우고 느낀 것들
🍒 문제 링크 코드잇 🍒 문제 분석 마지막 네 자리를 * 처리 해야함 "-" 의 존재 여부에 따라 전체 길이가 달라지므로 끝에서부터 인덱싱 진행! 🍒 내 코드 def mask_security_number(security_number): # 여기에 코드를 작성하세요 security_number = list(security_number) security_number[len(security_number) -1] = "*" security_number[len(security_number) -2] = "*" security_number[len(security_number) -3] = "*" security_number[len(security_number) -4] = "*" new_security_number = ..
🍒 문제 링크 🍒 문제 분석 1. sum_digit 함수를 이용해 각 자리의 합을 구하기 2. sum_digit(1) ~ sum_digit(1000) 의 합계 구하기 🍒 내 코드 def sum_digit(num): length = len(str(num)) answer = 0 for i in range(1, length+1): answer += num % (10 ** i) // (10 ** (i-1)) num -= num % (10 ** i) return answer # sum_digit(1)부터 sum_digit(1000)까지의 합 구하기 real_answer = 0 for k in range(1, 1001): real_answer += sum_digit(k) print(real_answer) 🍓 내 해..
a< b< c 이고, a + b + c = 400일 때 피타고라스 성립하는 세 수의 곱 찾기 🍒 문제 분석 🍒 내 코드 for a in range(1, 401): for b in range(a + 1, 401): for c in range(b + 1, 401): if (a ** 2 + b ** 2 == c ** 2) and (a + b + c == 400): print(a * b * c) 🌽 다른 사람 코드 for a in range(1, 400): for b in range(1, 400): c = 400 - a - b if a * a + b * b == c * c and a < b < c: print(a * b * c) 🍉 깨달은 점 및 정리 답은 맞지만, for 문을 세 번 쓰는 대신 c = 400 ..
🍒 문제 링크 https://www.codetree.ai/missions/4/problems/season-of-num/description 🍒 문제 분석 if 문의 순서가 중요 🍒 내 코드 n = int(input()) if n >= 9 and n = 6 and n = 3 and n = 12 or n
🍒 문제 링크 https://www.codetree.ai/missions/5/problems/robot-moving-from-side-to-side/submissions 🍒 문제 분석 🍒 내 코드 코드 🍓 내 해결 과정 🌽 다른 사람 코드 N, M = map(int, input().split()) # time에 따른 a,b의 위치 기록할 수 있는 배열 생성 pos_a, pos_b = [0] * 100000, [0] * 100000 time_a, time_b = 1, 1 #t만큼의 변화동안 pos_a, pos_b for _ in range(N): t, d = tuple(input().split()) for _ in range(int(t)): pos_a[time_a] = pos_a[time_a - 1] + ..
🍒 문제 링크 🍒 문제 분석 🍒 내 코드 a, b, c = map(int, input().split()) time = 0 while True: if a
🍒 문제 링크 https://www.codetree.ai/missions/5/problems/code-name/explanation 🍒 문제 분석 5개 입력값 각각 받아 객체 생성 -> 최소값 출력 🍒 내 코드 class spy: #임의로 값=0 설정해서 초기값 제공 def __init__(self,code=0,score=0): self.code = code self.score = score # spy 리스트에 5개 객체 만들기 spys = [] for _ in range(5): spys.append(spy()) #입력값 5개 따로 들어오므로 for문으로 각각 입력 for i in range(5): spys[i].code, spys[i].score = input().split() print(spys[0]..
🍒 문제 링크 https://www.codetree.ai/missions/5/problems/two-equal-series/discussions/1550 🍒 문제 분석 배열 두 개 설정, 비교하기 🍒 내 코드 N = int(input()) A = map(int, (input().split())) B = map(int, (input().split())) A2 = sorted(A) B2 = sorted(B) if A2 == B2: print("Yes") else: print("No") 🍓 내 해결 과정 sorted 해둔 후, A2 == B2 답지 : zip 함수 이용 🌽 다른 사람 코드 # 변수 선언 및 입력 n = int(input()) a = list(map(int, input().split())) b ..
🍒 문제 링크 https://www.codetree.ai/missions/5/problems/inc-dec-sorting/submissions 🍒 문제 분석 🍒 내 코드 n = int(input()) arr = list(map(int, input().split())) arr_up = arr.sort print(arr_up) n = int(input()) arr = list(map(int, input().split())) arr_up = sorted(arr) arr_down = sorted(arr, reverse = True) for i in range(n): print(arr_up[i], end=' ') print() for i in range(n): print(arr_down[i], end=' ')코드..
range (a,b,c) a부터 b까지, c를 간격으로 정수 3과 문자열 C를 \n으로 표현하는 경우 : 1) a, b = 3, 'c' print(a\nb) X : \n은 오직 문자열의 경우에만 가능 2) a,b,c = 3, 'C', '\n' print(a,c,b) 3) a,b = 3, 'C' print(a, b, sep='\n') 으로 가능 출력 1) 변수 포맷 %d, %s 와 % 를 사용 2) format 함수를 이용 a , b , c = 7, 23, 30 print("{0} + {1} = {2}".format(a,b,c)) 3) f 문자열 a , b , c = 7, 23, 30 print(f"{a} + {b} = {c}") 3...c 출력 하는데, (a,"...",c) 로 하면 한칸 띄워지는 거 어..