Skip to content

Commit ec3b118

Browse files
Add files via upload
1 parent be48820 commit ec3b118

File tree

5 files changed

+171
-0
lines changed

5 files changed

+171
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# 32. 정수 제곱근 판별
2+
3+
def solution(n):
4+
answer = 0
5+
6+
n_root = n ** 0.5
7+
if int(n_root) == n_root:
8+
answer = int((n_root + 1) ** 2)
9+
else:
10+
answer = -1
11+
return answer
12+
13+
n_1 = 121
14+
n_2 = 3
15+
16+
print(solution(n_1))
17+
print(solution(n_2))
18+
19+
import math
20+
21+
def solution_best(n):
22+
answer = 0
23+
24+
if math.sqrt(n).is_integer():
25+
answer = int(pow(math.sqrt(n) + 1, 2))
26+
else:
27+
answer = -1
28+
return answer
29+
30+
# print(solution_best(n_1))
31+
# print(solution_best(n_2))

Day12/GCDandLCM.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# 34. 최대공약수와 최소공배수
2+
3+
# 좀만 더 생각하지...
4+
def solution(n, m):
5+
answer = []
6+
7+
a, b = max(n, m), min(n, m)
8+
t = 1
9+
while t > 0:
10+
t = a % b
11+
a, b = b, t
12+
answer = [a, int(n * m / a)]
13+
return answer
14+
15+
n_1 = 3
16+
n_2 = 2
17+
18+
m_1 = 12
19+
m_2 = 5
20+
21+
print(solution(n_1, m_1))
22+
print(solution(n_2, m_2))
23+
24+
from math import gcd
25+
26+
def solution_best(n, m):
27+
answer = []
28+
29+
GCD = gcd(n, m)
30+
LCM = n * m // GCD
31+
32+
answer.append(GCD)
33+
answer.append(LCM)
34+
35+
return answer
36+
37+
print(solution_best(n_1, m_1))
38+
print(solution_best(n_2, m_2))

Day12/OddOrEven.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 33. 짝수와 홀수
2+
3+
def solution(num):
4+
answer = ''
5+
6+
if num % 2 == 0:
7+
answer += 'Even'
8+
else:
9+
answer += 'Odd'
10+
return answer
11+
12+
num_1 = 3
13+
num_2 = 4
14+
15+
print(solution(num_1))
16+
print(solution(num_2))
17+
18+
def solution_best(num):
19+
answer = 'Even' if num % 2 == 0 else 'Odd'
20+
21+
return answer
22+
23+
print(solution_best(num_1))
24+
print(solution_best(num_2))

Day12/PressKeypad.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# 24. 키패드 누르기
2+
3+
# 내가 못 품 ... 2, 5, 8, 0일때 생각
4+
def solution(numbers, hand):
5+
answer = ''
6+
lastL = 10
7+
lastR = 12
8+
9+
for number in numbers:
10+
if number in [1, 4, 7]:
11+
answer += 'L'
12+
lastL = number
13+
elif number in [3, 6, 9]:
14+
answer += 'R'
15+
lastR = number
16+
else:
17+
number = 11 if number == 0 else number
18+
19+
absL = abs(number - lastL)
20+
absR = abs(number - lastR)
21+
22+
if sum(divmod(absL, 3)) > sum(divmod(absR, 3)):
23+
answer += 'R'
24+
lastR = number
25+
elif sum(divmod(absL, 3)) < sum(divmod(absR, 3)):
26+
answer += 'L'
27+
lastL = number
28+
else:
29+
if hand == 'left':
30+
answer += 'L'
31+
lastL = number
32+
else:
33+
answer += 'R'
34+
lastR = number
35+
36+
return answer
37+
38+
numbers_1 = [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5]
39+
numbers_2 = [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2]
40+
numbers_3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
41+
42+
hand_1 = 'right'
43+
hand_2 = 'left'
44+
hand_3 = 'right'
45+
46+
print(solution(numbers_1, hand_1))
47+
print(solution(numbers_2, hand_2))
48+
print(solution(numbers_3, hand_3))

Day12/RemoveSmallestNumber.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# 23. 제일 작은 수 제거하기
2+
3+
def solution(arr):
4+
answer = []
5+
6+
if len(arr) == 1:
7+
answer = [-1]
8+
else:
9+
min_cost = min(arr)
10+
for i in arr:
11+
if i == min_cost:
12+
arr.remove(i)
13+
14+
for i in arr:
15+
answer.append(i)
16+
return answer
17+
18+
arr_1 = [4, 3, 2, 1]
19+
arr_2 = [10]
20+
21+
# print(solution(arr_1))
22+
# print(solution(arr_2))
23+
24+
def solution_best(arr):
25+
answer = [i for i in arr if i > min(arr)]
26+
27+
return answer
28+
29+
print(solution_best(arr_1))
30+
print(solution_best(arr_2))

0 commit comments

Comments
 (0)