프로그래밍 9

[파이썬/python] 약수의 개수와 덧셈 - 제곱수는 약수의 갯수가 홀수.

설명 부분은 모르겠는 부분이나 정리하고 싶은 부분을 gpt에게 물어본 것입니다. 개인 공부용.약수의 개수와 덧셈 - 제곱수는 약수의 갯수가 홀수.https://school.programmers.co.kr/learn/courses/30/lessons/77884#내 풀이def solution(left, right): answer = 0 for num in range(left,right+1): cnt = 0 for j in range(1,num+1): if num % j == 0: cnt += 1 if cnt % 2 == 0: answer += num elif cnt %2 != 0..

[파이썬/python] 프로그래머스 문자열 겹쳐쓰기

문자열 겹쳐쓰기def solution(my_string, overwrite_string, s): length = len(overwrite_string) + s answer = my_string[:s] + overwrite_string + my_string[length:] return answer문자열싱1. 기본 슬라이싱슬라이싱은 [start:end:step] 형식으로 작성됨.start: 포함되는 시작 인덱스 (없으면 0부터 시작)end: 포함되지 않는 끝 인덱스step: 몇 칸씩 건너뛸지text = "Hello, World!"print(text[0:5]) # "Hello" (0부터 5까지, 5는 제외)print(text[7:12]) # "World"text[0:5..

[파이썬/python] rny_string

m → rn으로#내 풀이def solution(rny_string): answer = '' for i in rny_string: if i == "m": answer += "rn" else: answer += i return answer#다른 사람 풀이def solution(rny_string): return rny_string.replace('m', 'rn')replace()문자열의 특정 부분을 다른 문자열로 교체할 때 사용하는 메서드# 1. 기본 사용법text = "hello world"new_text = text.replace("hello", "hi")# "hi world"2. 특정 횟수만 바꾸기replace(old..

[파이썬/python] 프로그래머스 정수 부분

실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요.0≤flo≤100입출력 예 #11.42의 정수 부분은 1입니다.입출력 예 #269.32의 정수 부분은 69입니다#내 풀이def solution(flo): anwer = int(flo) return anwer#공부 후 추가 풀이import mathdef solution(flo): anwer = math.trunc(flo) return anwer #다른 사람 풀이 보고 알게 된 풀이def solution(flo): anwer = flo//1 #나눗셈 후 몫을 정수로 반환하기에 return anwer#추가 공부#float의 소수점 처리num = 3.141..

[파이썬/python] 11639번 구간 합 구하기 4

#내 답 -> 시간 초과N, M = map(int,input().split())#N : 수의 개수#M : 합을 구해야하는 횟수A = list(map(int,input().split()))S = [0]sum = 0for i in range(N): sum += A[i] S.append(sum)for _ in range(M): i,j = map(int,input().split()) print(S[j]-S[i-1]) #S[3]-S[0] #교재 참고해서 작성한 답. import sysinput = sys.stdin.readlineN, M = map(int,input().split())#N : 수의 개수#M : 합을 구해야하는 횟수A = list(map(int,input().spli..

[파이썬/python] 백준 평균 1546번

#내 풀이 1N = int(input()) #시험 본 과목 갯수scr_list = list(map(int,input().split())) #과목 당 점수 max_value = max(scr_list) #최고점sum = 0for i in range(N): scr_list[i] = scr_list[i]/max_value*100 # 점수/최댓값*100 sum = sum + scr_list[i]fake_avg = sum/Nprint(fake_avg)#내 풀이 2N = int(input()) #시험 본 과목의 개수score = list(map(int,input().split())) #각 과목의 성적M = max(score)sum = 0for i in score: sum += i/M*100print..

[파이썬/python]백준 숫자의 합 11720번

#내 풀이N = int(input())S = input() #문자열로 입력 받고sum = 0for i in range(N): sum += int(S[i]) #문자열을 int형으로 바꿈print(sum)  #책 풀이N = int(input())numbers = list(input())sum = 0for i in numbers: sum += int(i)print(sum) 문자열도 리스트라서 이렇게 푸는 건 상관 없을 것 같은데,python for문은 리스트를 돌 수 있다는 걸 앞으로 풀이에서 활용해야 할듯. 계속 range(N)

[파이썬/python]sys.stdin.readline과 input()의 차이점

1. 속도 차이sys.stdin.readline이 더 빠르게 입력 받을 수 있음. 특히 여러 줄의 입력을 처리할 때 성능 차이가 더 크게 느껴짐.2. 개행 문자 처리input()은 입력 받은 후 자동으로 개행 문자를 제거sys.stdin.readline()은 입력 받은 줄의 끝에 개행 문자가 포함되어 반환 됨. 이를 처리하려면 rstrip()을 사용하여 개행문자를 제거해줘야함.3. 사용 용도input() 일반적인 사용자 입력을 받을 때 사용sys.stdin.readline()은 대량의 입력을 처리하거나 코딩테스트 같은 상황에서 사용. 입력이 많을 때 효율적이고 빠르기 때문에 속도가 중요한 경우에 선호 됨.# input() 예시name = input() # 사용자로부터 한 줄 입력 받기 (개행 문자 자동..

파이썬 재활 - 1차원 배열 (리스트)

# 1차원 배열리스트 #다양한 자료형을 저장할 수 있음. my_list = [1,2,3,4,5] #빈 리스트 생성 my_list = [] #리스트 값 수정 my_list[0] = 10 print(my_list) #[10,2,3,4,5] #리스트 길이 확인 len(my_list) #리스트에 값 추가 my_list.append(6) print(my_list) #[10,2,3,4,5,6) #리스트에 값 삭제 #1.remove() my_list.remove(3) print(my_list) #[10,2,4,5] #2.pop() my_list = [10, 2, 3, 4, 5] popped_value = my_list.pop(1) # 인덱스 1에 있는 값을 삭제 print(my_..