๋ฐ์—”์œผ๋กœ ์„ฑ์žฅ์ค‘ ๐ŸŒฑ

์ „์ฒด ๊ธ€ 85

python ๊ธฐ์ดˆ 12

โœ๐Ÿป ๋ฐฐ์šด์  ํŒŒ์ด์ฌ ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ค‘ ๊ธฐ๋ณธ์ธ class ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ž๋ฃŒ ๊ตฌ์กฐ์ธ Linked List ๊ฐœ๋…์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด pandas, numpy ๊ธฐ๋ฐ˜ ๊ณต๋ถ€์™€ ํฌ๋กค๋ง์„ ํ†ตํ•œ ํ•จ์ˆ˜ ์ž‘์„ฑ ๊ณต๋ถ€๋„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๐Ÿ“ ๋ชฉ์ฐจ 1. Class ์™€ ๊ฐ์ฒด 2. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ( Linked List ) 3. pandas ์™€ numpy ๋กœ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ 4. KBO ํŒ€์˜ ๊ฐ ์šฉ๋ณ‘ ์ˆ˜ ๊ตฌํ•˜๊ธฐ 5. ํ™˜์œจ ๊ตฌํ•˜๊ธฐ : ํ•˜๋‚˜ ์€ํ–‰ ํฌ๋กค๋ง ๋“ค์–ด๊ฐ€๋ฉฐ ํŒŒ์ด์ฌ์˜ OOP(oriented object programming) ์™€ ์ž๋ฃŒ๊ตฌ์กฐ, numpy ๋ฐ pandas ๋“ฑ ์•„์ง ๋งค๋„๋Ÿฝ๊ฒŒ ์ง„ํ–‰ํ•˜๊ธฐ์—๋Š” ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์Šต๋‹ˆ๋‹ค...! Class ์™€ ๊ฐ์ฒด ํŒŒ์ด์ฌ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ์ด OOP ..

PROG LV2 : ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ •์ˆ˜์˜ ์ œ๊ณฑ๊ทผ์ด ์ •์ˆ˜์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. math ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋ฃจํŠธ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” math.sqrt() ์™€ ์ œ๊ณฑ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” math.pow()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์—ˆ๋‹ค. ์ฝ”๋“œ import math def solution(n): answer = 0 if math.sqrt(n) != int(math.sqrt(n)): answer = -1 else: answer = math.pow(math.sqrt(n)+1, 2) return answer

PROG LV2 : ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ฐ™์€ ๊ฒฝ์šฐ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ์ ‘๊ทผํ•˜๊ณ , ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” ๋‘ ์ˆ˜๋ฅผ ๊ณฑํ•œ ํ›„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ๊ฐ’์ด ๋œ๋‹ค. ์ฝ”๋“œ def solution(n, m): answer = [] a = n b = m while b != 0: temp = a % b a = b b = temp answer.append(a) answer.append(n * m // a) return answer def solution(n, m): a, b = n, m while b != 0: a, b = b, a % b answer = [a, n * m // a] return answer

PROG LV2 : ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์ชผ๊ฐœ ๋”ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๊ณ  ํ•œ ๋ฌธ์ž์”ฉ ์ ‘๊ทผํ•˜์—ฌ ๊ทธ ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋‹ค์‹œ ๋ฐ”๊ฟ”์ฃผ๊ณ  ํ•ฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ def solution(n): answer = sum([int(x) for x in str(n)]) return answer

PROG LV2: ํ–‰๋ ฌ์˜ ๋ง์…ˆ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ฃผ์–ด์ง„ ๋‘ ๊ฐœ์˜ ํ–‰๋ ฌ์„ ๋”ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด arr1 ๋ฐฐ์—ด์— arr2 ๋ฐฐ์—ด ๊ฐ’์„ ๋”ํ•ด์ฃผ๋Š” ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค. (์•„๋งˆ ํ–‰๋ ฌ์€ np.array() ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ๋‹ค.) ์ฝ”๋“œ def solution(arr1, arr2): for x in range(len(arr1)): for y in range(len(arr1[0])): arr1[x][y] += arr2[x][y] return arr1

PROG LV1 : ํ‰๊ท  ๊ตฌํ•˜๊ธฐ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ๊ฐ’๋“ค์˜ ํ‰๊ท ์„ ๊ตฌํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ‰๊ท ์€ ๋ฆฌ์ŠคํŠธ ์•ˆ์˜ ๊ฐ’๋“ค์˜ ํ•ฉ / ๋ฆฌ์ŠคํŠธ ๊ฐ’์˜ ๊ฐœ์ˆ˜ ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ def solution(arr): answer = sum(arr) / len(arr) return answer

PROG LV1 : ์ง์‚ฌ๊ฐํ˜• ๋ณ„์ฐ๊ธฐ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ฃผ์–ด์ง„ ๊ฐœ์ˆ˜๋งŒํผ * ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. b๋Š” ํ–‰์˜ ๊ฐœ์ˆ˜, a ๋Š” ํ–‰์— ๋“ค์–ด๊ฐ€๋Š” *์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ถœ๋ ฅํ•ด์ฃผ์—ˆ๋‹ค. ์ฝ”๋“œ a, b = map(int, input().strip().split(' ')) for x in range(0, b): print('*' * a)

PROG LV1 : x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž (python)

ํ’€์ด ๋ฐฉ๋ฒ• ๋‹จ์ˆœํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ ๋ฌธ์ œ์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ฃผ์–ด์ง„ x ๊ฐ’์— 1๋ถ€ํ„ฐ n ๊นŒ์ง€ ๊ณฑํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฝ”๋“œ def solution(x, n): answer = [] for k in range(1, n+1): answer.append(x*k) return answer def solution(x, n): answer = [x*k for k in range(1, n+1)] return answer

PROG LV1 : ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ (python)

ํ’€์ด ๋ฐฉ๋ฒ• ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜์ผ ๋•Œ๋Š” ๊ฐ€์šด๋ฐ ๊ธ€์ž, ์ง์ˆ˜์ผ ๋•Œ๋Š” ๊ฐ€์šด๋ฐ ๋‘ ๊ฐœ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‚˜๋Š” ๋ฌธ์ž์—ด์˜ Index ๋กœ ์ ‘๊ทผํ•˜์—ฌ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์ฝ”๋“œ def solution(s): if len(s) % 2 != 0: answer = s[len(s) // 2] else: answer = s[ len(s) // 2 - 1 : len(s) // 2 + 1 ] return answer def solution(s): answer = s[len(s)//2] if len(s) % 2 != 0 else s[len(s)//2-1:len(s)//2+1] return answer