1. Python grammer for coding-test (code)
1.1 ์๋ฃํ
1.2 List
1.3 ๋ฌธ์์ด
1.4 ํํ
1.5 Dictionary ์ฌ์
1.6 Set ์งํฉ
1.7 ์กฐ๊ฑด๋ฌธ
1.8 ๋ฐ๋ณต๋ฌธ
1.9 ํจ์
1.10 ์
์ถ๋ ฅ
- e
- ์์์ ๊ฐ ๋น๊ต
'''0๋ถํฐ 19๊น์ง์ ์ ์ค์์ ํ์๋ง ํฌํจํ๋ ๋ฆฌ์คํธ'''
array = [i for i in range(20) if i % 2 == 1]
print(array) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
'''1๋ถํฐ 9๊น์ง์ ์์ ์ ๊ณฑ ๊ฐ์ ํฌํจํ๋ ๋ฆฌ์คํธ'''
array = [i*i for i in range(1, 10)]
print(array) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
'''n X m ํฌ๊ธฐ์ 2์ฐจ์ ๋ฆฌ์คํธ ์ด๊ธฐํ'''
'''
Usage of underbar _ ?
> ๊ฐ ์๊ด์์ด, ๋ฐ๋ณต ํ์๋ง ์ค์ํ ๋ ์ฌ์ฉ!
'''
n = 3
m = 4
array = [[0]*m for _ in range(n)]
print(array) # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
# ๋ณ์๋ช
.count(ํน์ ๊ฐ) : O(N)
a = [1, 4, 3, 1]
print(a.count(1)) # 2
# ๋ณ์๋ช
.remove(ํน์ ๊ฐ) : O(N)
a.remove(3)
print(a) # [1, 4, 1]
'''ํจ์ ์ฐ์ง์๊ณ , remove_set ๋ฆฌ์คํธ์ ํฌํจ์๋ ๊ฐ๋ง ์ ์ฅํ๊ธฐ
>> ์๊ฐ๋ณต์ก๋ ๊ณ ๋ คํ ํ์ด '''
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = [3, 5]
result = [i for i in a if i not in remove_set]
print(result) # [1, 2, 4]
a = "ABCDEF"
print(a[2:4]) # CD
- ํํ์ ํ๋ฒ ์ ์ธ๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
- ( ) ์ด์ฉ
- ํํ๋ก ๋ณ๊ฒฝํ๋ฉด ์๋๋ ๊ฐ ๋ณ๊ฒฝ๋๊ณ ์์ง ์์์ง ์ฒดํฌ ๊ฐ๋ฅ
- ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ ๋ง์ด ์ฌ์ฉ
์) ๋ค์ต์คํธ๋ผ ์ต๋จ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์์, ๋ด๋ถ์์ ์ฐ์ ์์ ํ ์ด์ฉํ๋๋ฐ, ์ด๋ ํ๋ ํํ๋ก ์์ฑ๋จ
(๋น์ฉ, ๋ ธ๋๋ฒํธ) ํํ๋ก ๋ฌถ์ด์ ๊ด๋ฆฌ
a = (1, 2, 3, 4)
print(a) # (1, 2, 3, 4)
# a[2] = 7 # error
- ๋ฐ์ดํฐ์ ๊ฒ์ / ์์ : O(N)
data = dict()
data['์ฌ๊ณผ'] = 'Apple'
data['๋ฐ๋๋'] = 'Banana'
data['์ฝ์ฝ๋'] = 'Coconut'
if '์ฌ๊ณผ' in data:
print("์ฌ๊ณผ yes!")
- ํน์ ์์ ์กด์ฌ์ ๋ฌด : O(N)
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)
data = {1, 1, 2, 3, 4, 4, 5}
print(data)
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])
# ํฉ์งํฉ
print(a | b) # {1, 2, 3, 4, 5, 6, 7}
# ๊ต์งํฉ
print(a & b) # {3, 4, 5}
# ์ฐจ์งํฉ
print((a - b)) # {1, 2}
List | ํํ | ์งํฉ | ์ฌ์ |
[ ] | ( ) | { } | [k,v] |
in, not in |
'''์กฐ๊ฑด๋ฌธ ๊ฐ์ด ์ฐธ์ด๋ผ๋, ์๋ฌด๊ฒ๋ ์ฒ๋ฆฌํ๊ณ ์ถ์ง ์์๋ pass ์ด์ฉ'''
score = 82
if score >= 80:
pass # ๋์ค์ ์์ฑํ ์ฝ๋
else:
print("์ฑ์ ์ด ๋ฎ์์")
'''๋ณ์ = true์ผ๋๊ฐ(1) if์กฐ๊ฑด๋ฌธ(2) else(3) false์ผ๋๊ฐ(4)'''
score = 85
result = "Success" if score >= 80 else "Fail"
print(result)
1.7.3 ๋ฆฌ์คํธ์ ์๋ ์์์ ๊ฐ์ ๋ณ๊ฒฝํด์, ๋ ๋ค๋ฅธ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ ์ ํ ๋
a = [1, 2, 3, 4, 5]
remove = [3, 5]
result = [i for i in a if i not in remove]
print(result) # [1, 2, 4]
x = 15
if x > 0 and x < 20:
print(f"0 < {x} < 20")
if 0 < x < 20:
print(f"0 < {x} < 20")
- ํ๋ก์ด๋ ์์ ์๊ณ ๋ฆฌ์ฆ
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฑ์์ ๋ง์ด ์ฌ์ฉ๋๋ค.
scores = [90, 85, 77, 65, 97]
cheating_list = [2, 4]
for i in range(5):
if i + 1 in cheating_list:
continue
if scores[i] >= 80:
print(i + 1, "๋ฒ ํ์์ ํฉ๊ฒฉ์
๋๋ค.")
- ๋ฌธ์ ํธ๋ ์ฝ๋๋ฅผ ํจ์ํํ๋ฉด, ๋งค์ฐ ํจ๊ณผ์ ์ผ๋ก ํ ์ ์๋ค.
- ํจ์ ์์์, ํจ์ ๋ฐ์ ๋ณ์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํด์ผํ๋ ๊ฒฝ์ฐ
a = 0
def func():
global a
a += 1
for i in range(10):
func()
print(a) # 10
- python์ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋, ์ ๋ ฌ ๊ธฐ์ค (key)๋ฅผ ์ค์ ํ ๋์๋ ์์ฃผ ์ฌ์ฉ๋๋ค.
def add(a, b):
return a+b
# ์ผ๋ฐ์ ์ธ add() ๋ฉ์๋ ์ฌ์ฉ
print(add(3, 7))
# ๋๋ค ํํ์์ผ๋ก ๊ตฌํํ add() ๋ฉ์๋
print( (lambda a, b: a+b)(3, 7) )
list(map(int, input().split()))
# ex 1)
# ๋ฐ์ดํฐ์ ๊ฐ์ ์
๋ ฅ
n = int(input())
# ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์
๋ ฅ
data = list(map(int, input().split()))
data.sort(reverse=True)
print(data)
'''
input
5
65 90 75 34 99
result
[99, 90, 75, 65, 34]
'''
# ex 2)
# n, m, k๋ฅผ ๊ณตใ
๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์
๋ ฅ
n, m, k = map(int, input().split())
print(n, m, k)
- sys ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋๋, ํ ์ค ์ ๋ ฅ์ ๋ฐ๊ณ ๋์ rstrip() ์ ๊ผญ ํธ์ถํด์ผ ํ๋ค.
- sys.stdin.readline() ๊น์ง๋ง ์์ฑํ๋ฉด, ์
๋ ฅ ํ ์ํฐ๊ฐ ์ค๋ฐ๊ฟ ๊ธฐํธ๋ก ์
๋ ฅ๋๋ค.
์ด๋ ์ด ๊ณต๋ฐฑ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด, rstrip() ํจ์๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
import sys
# ๋ฌธ์์ด ์
๋ ฅ๋ฐ๊ธฐ
data = sys.stdin.readline().rstrip()
print(data)
'''
# ex 2)
# n, m, k๋ฅผ ๊ณตใ
๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์
๋ ฅ
n, m, k = map(int, input().split())
print(n, m, k)
answer = 7
print("์ ๋ต์ " + answer + " ์
๋๋ค.") # error
print("์ ๋ต์ " + str(answer) + "์
๋๋ค.") # ์ ๋ต์ 7์
๋๋ค.
print("์ ๋ต์", answer, "์
๋๋ค.") # ์ ๋ต์ 7 ์
๋๋ค. (๋์ด์ฐ๊ธฐ ํฌํจ! )
print(f"์ ๋ต์ {answer}์
๋๋ค.") # ์ ๋ต์ 7์
๋๋ค.