코딩테스트 공부 44

백준 [Python] 4673번: 셀프 넘버

✨ 풀이과정 1 2 3 4 5 6 7 8 9 num = set(range(1,10001)) # 1부터 10000까지 숫자 set에 저장 n = set() # 생성자가 있는 숫자 set에 저장 for i in num: for j in str(i): # ex) 102이면 1,0,2로 접근 (숫자 -> 문자열로 변환) i += int(j) # ex) 102 + 1 + 0 + 2 와 같이 생성자 계산 (문자열 -> 숫자로 변환) n.add(i) selfnum = sorted(num - n) # 10000보다 작거나 같은 셀프 넘버 저장 및 오름차순 정렬 for i in selfnum: print(i) # 셀프 넘버 한 줄에 하나씩 출력 cs ❗ 어렵다 어려워.. 4673번: 셀프 넘버 셀프 넘버는 1949년 인..

백준 [Python] 4344번: 평균은 넘겠지

✨ 풀이과정 1 2 3 4 5 6 7 8 9 10 11 12 13 n = int(input()) for i in range(n): case = list(map(int,input().split())) average = sum(case[1:]) / case[0] student = 0 for j in case[1:]: if j >= average: student += 1 ratio = student/case[0]*100 print(f'{ratio:.3f}%') cs 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net

백준 [Python] 5958번: OX퀴즈

✨ 풀이과정 1 2 3 4 5 6 7 8 9 10 11 12 n = int(input()) for i in range(n): test = input() score = 0 sum = 0 for i in range(len(test)): if test[i] == "O": score += 1 sum += score else: score = 0 print(sum) cs ✔ 포인트 : O가 연속으로 나올 경우 점수가 올라가고 X가 나올 경우 초기화 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net

프로그래머스 [Python] 나누어 떨어지는 숫자 배열

✨ 풀이과정 1 2 3 4 5 6 7 8 def solution(arr, divisor): answer = [] for i in range(len(arr)): if arr[i] % divisor == 0: answer.append(arr[i]) if len(answer) == 0: answer.append(-1) return sorted(answer) cs ✔ 다른 사람 풀이 1 2 3 def solution(arr, divisor): arr = sorted([x for x in arr if x % divisor == 0]); return arr if len(arr) != 0 else [-1]; cs 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 ..

프로그래머스 [Python] 소수 만들기

✨ 풀이과정 1 2 3 4 5 6 7 8 9 10 11 12 from itertools import combinations def solution(nums): answer = 0 a = list(combinations(nums,3)) for i in range(len(a)): b = sum(a[i]) for j in range(2,b): if b % j == 0: break else: answer += 1 return answer cs ✔ 문제 포인트 : 소수를 판별하는 것과 리스트에서 3개의 숫자를 조합하는 것 ✔ 조합은 라이브러리를 활용 (itertools의 combinations) ✔ 소수 - 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 ▶ for문으로 2부터 n-1까지 약수가 있는지..

프로그래머스 [SQL] 역순 정렬하기

✨ 풀이과정 1 2 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; cs 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr

프로그래머스 [Python] 내적

✨ 풀이과정 1 2 3 4 5 def solution(a, b): answer = [] for i in range(len(a)): answer.append(a[i]*b[i]) return sum(answer) cs ✨ 다른 사람 풀이 1 2 3 def solution(a, b): return sum([x*y for x, y in zip(a,b)]) cs 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr

728x90