문제 링크 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 문제 풀이 a, b = map(int, input().split()) c, d = map(int, input().split()) e = a * d + b * c f = b * d def gcd(e, f): while f: mod = f f = e % f e = mod return e print(e//gcd(e, f), f//gcd(e, f)) *key point: 분수를 통분해서 더한 뒤 최대공약수로 약분한다.
문제 링크 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 문제 풀이 a, b = map(int, input().split()) def gcd(a, b): while b: mod = b b = a % b a = mod return a print(a*b//gcd(a, b)) *key point: 유클리드 호제법으로 최대공약수를 구하고 최대공약수로 최소 공배수를 구한다.
문제 링크 14215번: 세 막대 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. www.acmicpc.net 문제 풀이 length = sorted(list(map(int, input().split()))) if length[0] + length[1] > length[2]: print(sum(length)) else: print(sum(length) + (length[0] + length[1] - length[2] - 1)) *key point: 짧은 두 변의 합이 긴 변 보다 작은 경우 줄여야 하는 긴 변의 길이를 고려해준다.
문제 링크 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net 문제 풀이 while 1: a, b, c = map(int, input().split()) if a == 0 and b == 0 and c == 0: break list = sorted([a, b, c], reverse=True) if list[0] < list[1] + list[2]: if a == b == c: print("Equilateral") elif a == b or b == c or a == c: print("Isosceles") else: print("Scalene") else: print("Invalid") ..
문제 링크 24313번: 알고리즘 수업 - 점근적 표기 1 f(n) = 7n + 7, g(n) = n, c = 8, n0 = 1이다. f(1) = 14, c × g(1) = 8이므로 O(n) 정의를 만족하지 못한다. www.acmicpc.net 문제 풀이 a1, a2 = map(int, input().split()) c = int(input()) n0 = int(input()) if a1 * n0 + a2
문제 링크 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def findCoordinate(keynum): keypad = [[1,2,3],[4,5,6],[7,8,9],['*', 0, '#']] return [[i,j] for i in range(4) for j in range(3) if keypad[i][j]==keynum][0] def calDistance(a, b): return sum([abs(findCoordinate(a)[i]-findCoordinate(b)[i]) for i in [0,1]]) def solution(numbers,..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(number): answer = 0 l = len(number) for i in range(l): for j in range(i+1, l): for k in range(j+1, l): if number[i] + number[j] + number[k] == 0: answer += 1 return answer *key point: 중첩 반복문을 활용하여 number의 중복되지 않는 세 요소를 골라 그 합이 0인 경우만 세어준다. *다른 사람의 풀이(knine3 , 최승..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(k, m, score): answer = 0 score.sort(reverse=True) for i in range(m - 1, len(score), m): answer += score[i] * m return answer *key point: score를 내림차순으로 정리하면 m-1번째 요소부터, m마다 각 box의 가장 작은 점수의 사과가 되는 것을 이용한다. *leejuhanKr , 명훈 , imsiyun , Daeho Kim , onion.lauv@gmail..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(food): answer = '0' for i, num in enumerate(food[:0:-1]): food_num = len(food)-i-1 answer = str(food_num) * (num//2) + answer + str(food_num) * (num//2) return answer *key point: 주어진 문자열을 만들기 위해서 반복문, enumerate 함수를 활용한다.
- Total
- Today
- Yesterday
- 항해 플러스
- 26069
- 2903
- 5597
- 2738
- 25501
- Python
- 13909
- Wil
- 백준
- programmer
- 항해+
- til
- 24313
- 25192
- 4134
- 1269
- 24060
- 17103
- 코육대
- SQL
- 20920
- 2053
- 13241
- 벡준
- 24723
- 2587
- Programmers
- 10807
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |