문제 링크 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 풀이 while 1: a, b = map(int, input().split()) if a == 0 and b == 0: break if b % a == 0: print('factor') elif a % b == 0: print('multiple') else: print('neither') *key point: 두 수를 서로 나누어 나머지가 0인 경우에 따라 case를 나누어 주면 된다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1) 수학적 접근 def solution(n): answer = 0 length = len(str(n)) for i in range(1, length + 1): print(i, length) m = n // 10 ** (length - i) n -= 10 ** (length - i) * m answer += m return answer 2) 자료형, map 함수 활용한 접근 def solution(n): answer = sum(list(map(int, str(n)))) return ans..
문제 링크 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 풀이 t = int(input()) for _ in range(t): x1, y1, x2, y2 = map(int, input().split()) n = int(input()) cnt = 0 for _ in range(n): cx, cy, r = map(int, input().split()) r1 = ((x1 - cx) ** 2 + (y1 - cy) ** 2) ** 0.5 r2 = ((x2 - cx) ** 2 + (y2 - cy) ..
문제 링크 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 풀이 t = int(input()) for _ in range(t): x1, y1, r1, x2, y2, r2 = map(int, input().split()) len = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 if len == 0 and r1 == r2 : print(-1) elif abs(r1 - r2) == len or r1 + r2 == len: print(1) elif abs(r1 - r2) < len < (r1 + r2): print(2) else: pr..
문제 링크 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 문제 풀이 import math r = int(input()) pi = math.pi print(pi * r ** 2) print(2 * r ** 2) *key point: 직접 좌표에 그림을 그려보면 쉽게 택시 기하학에서의 넓이를 구할 수 있다.
문제 링크 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 문제 풀이 k = int(input()) width = [] height = [] total = [] for i in range(6): dir, len = map(int, input().split()) if dir == 1 or dir ==2: width.append(len) total.append(len) else: height.append(len) total.append(len) maxHeightIndex = total.index(max(heig..
문제 링크 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 문제 풀이 while 1: a, b, c = map(int, input().split()) if a == 0 and b == 0 and c == 0: break; if max(a, b, c) == a: a, c = c, a elif max(a, b, c) == b: b, c = c, b if a*a + b*b == c*c: print("right") else: print("wrong") *key point: while문을 이용하여 모든 수가 0일 때까지 반복문을 수행한..
문제 링크 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 x_list , y_list = [], [] for i in range(3): x, y = map(int, input().split()) x_list.append(x) y_list.append(y) x, y = 0, 0 for num in x_list: if x_list.count(num) == 1: x = num for num in y_list: if y_list.count(num) == 1: y = num print(x, y) *key point: x좌표끼리, y좌표끼리 모았을 때 하나만 있는 좌표가 나머지 네번째 좌..
문제 링크 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 문제 풀이 x, y, w, h = map(int, input().split()) print(min(x, w-x, y, h-y)) *key point: x와 0, x와 w, y와 0, y와 h사이의 거리의 최솟값을 min함수로 구한다.
문제 링크 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 문제 풀이 s = input() part_set = set() for i in range(len(s)): for j in range(i, len(s)): part_set.add(s[i:j+1]) print(len(part_set)) *key point: 빈 집합을 생성하여 반복문을 통해 문자열을 잘라 저장하면 자동으로 중복이 제거된다.
- Total
- Today
- Yesterday
- 2053
- 13241
- 10807
- 4134
- 24723
- Python
- Wil
- MySQL
- 항해+
- 17103
- SQL
- 항해 플러스
- 코육대
- 20920
- til
- Programmers
- 13909
- 벡준
- 24313
- 25192
- 5597
- 2587
- 25501
- 26069
- 2738
- 24060
- 2903
- programmer
- 백준
- 1269
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |