문제 링크 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 import math n = int(input()) n_factorial = list(map(int, list(str(math.factorial(n))))) cnt = 0 index = len(n_factorial) - 1 while index != 0 : if n_factorial[index] == 0: cnt += 1 index -= 1 else: break; print(cnt) *key point: factorial을 계산해 준 뒤 각 자리수를 리스트에 넣어 반복문으로 해결한다.
문제 링크 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 문제 풀이 import math t = int(input()) for i in range(t): n = int(input()) type_list = [] type_count = [] for j in range(n): cloth, type = input().split() if type not in type_list: type_list.append(type) ty..
문제 링크 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제 풀이 import math t = int(input()) for i in range(t): n, m = map(int, input().split()) print(math.factorial(m)//(math.factorial(m-n)*math.factorial(n))) *key point: 조합(Combination)에 대한 이해가 있으면 쉽게 풀 수 있다. 주어진 문제는 M개 중에 N를 고르는 경우의 수 이으로 mCn을 구해준다.
문제 링크 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 문제 풀이 import math n = int(input()) diameter = list(map(int, input().split())) for i in range(1, n): gcd = math.gcd(diameter[0], diameter[i]) print(f'{diameter[0]//gcd}/{diameter[i]//gcd}') *key point: 첫번째 링과 각 링의 반지름의 최소공배수를 구하여 나누어주면 출력해야 할 기약 분수의 분모, 분자를 구할 수 있다.
문제 링크 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 풀이 import sys N = int(sys.stdin.readline()) card_list = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.readline()) check_list = list(map(int, sys.stdin.readline().split())) card_dict = {} for i in range(len(card_list)):..
문제 링크 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 풀이 N, M = map(int, input().split()) start = [] cnt = [] for _ in range(N): start.append(input()) for a in range(N - 7): for b in range(M - 7): index1 = 0 index2 = 0 for i in range(a, a + 8): for j in range(b, b + 8): if (i + j) % 2 == 0: if start[..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(id_pw, db): if id_pw in db: return "login" for data in db: if data[0] == id_pw[0]: return "wrong pw" return "fail" *key point: if문과 for문을 적절히 활용하여 주어진 조건에 따라 적합한 return 값을 가지도록 한다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(order): order_list = list(str(order)) answer = order_list.count('3') + order_list.count('6') + order_list.count('9') return answer *key point: 자료형 변환을 통해 리스트로 만들어 count 메서드로 3, 6, 9의 개수를 세어준다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 import math def solution(price): if price >= 500000: discount = 0.2 elif price >= 300000: discount = 0.1 elif price >= 100000: discount = 0.05 else: discount = 0 answer = math.floor(price * (1 - discount)) return answer *key point: if문을 활용한다. math 라이브러리를 통해 소수점 이하를 버린다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(angle): if angle > 0 and angle < 90: answer = 1 elif angle == 90: answer = 2 elif angle < 180: answer = 3 else: answer = 4 return answer *key point: if문을 활용한다.
- Total
- Today
- Yesterday
- 24723
- 25192
- 1269
- 2053
- 25501
- 코육대
- 5597
- 백준
- 2587
- 13241
- Python
- 2903
- 벡준
- 20920
- Programmers
- 10807
- 17103
- SQL
- programmer
- 4134
- 2738
- til
- 26069
- 24313
- 13909
- 항해+
- Wil
- MySQL
- 24060
- 항해 플러스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |