[한국기술교육대학교] 스크립트프로그래밍 과제1
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
class Solution:
@staticmethod
def problem1():
print('------------------ 1번 문제 ------------------')
a = "Hello Python"
a = a[:5] + ' ' + a[6:]
print(a)
print('--------------------------------------------')
@staticmethod
def problem2():
print('------------------ 2번 문제 ------------------')
b = "Hello Python World"
b = b[13:] + ' ' + b[6:12] + ' ' + b[:5]
print(b)
print('--------------------------------------------')
@staticmethod
def problem3():
print('------------------ 3번 문제 ------------------')
c = "Hello"
c = c[::-1]
print(c)
print('--------------------------------------------')
@staticmethod
def problem4():
print('------------------ 4번 문제 ------------------')
"""
s = "python"
A. s[0]과 s[0][0], s[0][0][0]은 전부 p가 나옵니다.
python의 0번째는 p 이고 p의 0번쨰도 p이고 p의 0번쨰의 0번째로 p이기 때문입니다.
B. s[-100]과 s[100] 둘다 IndexError가 나오며
s[-100]은 s의 길이가 6이므로 -1 - 6보다 작으면 2바퀴 이상을 순회함으로 인덱싱오류가 납니다.
s[100]는 주어진 길이보다 더 많은 인덱싱을 주었으므로 오류가 납니다.
C. s[-100, 100] 의 경우 인덱싱은 무조건 정수가 와야하는데 -100, 100 이상한 문법이 들어와서 에러가 납니다.
D. s[1:-1]은 1번쨰 부터 맨 끝짜리 까지(맨 끝 제외) 출력이므로 ytho 가 출력됩니다.
E. s[3:-3]은 3번째부터 'h' -3도 'h'인데 맨 끝 제외이니 ''가 출력됩니다.
"""
print('--------------------------------------------')
@staticmethod
def problem5():
print('------------------ 5번 문제 ------------------')
print(' '.join(map(str, [i for i in range(1, 101) if i % 2 == 1])))
print('--------------------------------------------')
@staticmethod
def problem6():
print('------------------ 6번 문제 ------------------')
result = 0
start = 1
while start <= 100:
result += start if start % 2 == 0 else 0
start += 1
print(result)
print('--------------------------------------------')
@staticmethod
def problem7():
print('------------------ 7번 문제 ------------------')
a = input('정수를 입력하세요: ')
print('숫자 역순은', a[::-1], '입니다.')
print('--------------------------------------------')
@staticmethod
def problem8():
print('------------------ 8번 문제 ------------------')
from sys import stdin
def isPrime(n):
if n < 2:
return False
if n in (2, 3):
return True
if n % 2 == 0 or n % 3 == 0:
return False
if n < 9:
return True
k, l = 5, n ** 0.5
while k <= l:
if n % k == 0 or n % (k + 2) == 0:
return False
k += 6
return True
cnt = int(stdin.readline().strip())
print(' '.join(map(str, [i for i in range(1, cnt + 1) if isPrime(i)])))
print('--------------------------------------------')
@staticmethod
def problem9():
print('------------------ 9번 문제 ------------------')
STUART = dict()
KEVIN = dict()
vowel = ['a', 'i', 'e', 'o', 'u', 'A', 'I', 'E', 'O', 'U']
body = input('string S를 입력하세요: ')
for idx, item in enumerate(body):
for end in range(idx + 1, len(body) + 1):
if item not in vowel:
# Stuart
if body[idx:end] not in STUART:
STUART[body[idx:end]] = 0
STUART[body[idx:end]] += 1
else:
# Kevin
if body[idx:end] not in KEVIN:
KEVIN[body[idx:end]] = 0
KEVIN[body[idx:end]] += 1
score_stuart = sum(STUART.values())
score_kevin = sum(KEVIN.values())
if score_stuart > score_kevin:
print('승자: Stuart 점수:', score_stuart)
elif score_stuart < score_kevin:
print('승자: Kevin 점수:', score_kevin)
else:
print('무승부 입니다! 점수 : ', score_kevin)
print('--------------------------------------------')
@staticmethod
def problem10():
print('------------------ 10번 문제 ------------------')
def appendDelete(s, t, k):
s = list(s)
end_length = len(s)
while k > 0:
if ''.join(s[:end_length]) == t[:end_length]:
if len(t) - len(s) <= k:
return 'Yes'
else:
return 'No'
else:
s.pop()
end_length -= 1
k -= 1
return 'No'
print(appendDelete('hackerhappy', 'hackerrank', 9))
print(appendDelete('aba', 'aba', 7))
print(appendDelete('ashley', 'ash', 2))
print('--------------------------------------------')
s = Solution()
s.problem1()
s.problem2()
s.problem3()
s.problem4()
s.problem5()
s.problem6()
s.problem7()
s.problem8()
s.problem9()
s.problem10()
|
cs |
/Users/jinwoo/PycharmProjects/pythonProject/venv/bin/python /Users/jinwoo/PycharmProjects/pythonProject/problem1.py
------------------ 1번 문제 ------------------
Hello Python
--------------------------------------------
------------------ 2번 문제 ------------------
World Python Hello
--------------------------------------------
------------------ 3번 문제 ------------------
olleH
--------------------------------------------
------------------ 4번 문제 ------------------
--------------------------------------------
------------------ 5번 문제 ------------------
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
--------------------------------------------
------------------ 6번 문제 ------------------
2550
--------------------------------------------
------------------ 7번 문제 ------------------
정수를 입력하세요: 1234
숫자 역순은 4321 입니다.
--------------------------------------------
------------------ 8번 문제 ------------------
100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
--------------------------------------------
------------------ 9번 문제 ------------------
string S를 입력하세요: BANANA
승자: Stuart 점수: 12
--------------------------------------------
------------------ 10번 문제 ------------------
Yes
Yes
No
--------------------------------------------
Process finished with exit code 0