Skip to content

Instantly share code, notes, and snippets.

View shoark7's full-sized avatar
๐ŸŽฏ
Focusing on being better

Sunghwan Park shoark7

๐ŸŽฏ
Focusing on being better
View GitHub Profile
@shoark7
shoark7 / second_largest_int.py
Last active September 9, 2019 06:12
์ •์ˆ˜ ๋ฐฐ์—ด์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ๊ฐ’ ์ฐพ๊ธฐ in Python
"""์ •์ˆ˜ ๋ฐฐ์—ด์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ผ
:์ž…๋ ฅ: list of int | ์ •์ˆ˜ ๋ฐฐ์—ด. ํฌ๊ธฐ๋Š” 2 ์ด์ƒ. (ex: [6, 5, 2, 1, 100, 3, 1, 59])
:์ถœ๋ ฅ: int | ์ •์ˆ˜ ๋ฐฐ์—ด์˜ 2๋ฒˆ์งธ๋กœ ํฐ ์ •์ˆ˜. (ex: 59)
:์กฐ๊ฑด:
1. list.sort() ํ•จ์ˆ˜๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฑธ ์“ฐ๋ฉด ๋„ˆ๋ฌด ์‰ฝ์ฃ  ์‚ฌ์‹ค...
2. ๋งŒ์•ฝ ์ตœ๋Œ€๊ฐ’์ด ๋‘ ๊ฐœ ์ด์ƒ์ด๋ฉด, ์ •๋‹ต์€ ๊ทธ๊ฒƒ๋ณด๋‹ค ์ž‘์•„์•ผ ํ•œ๋‹ค.(ex: function([2, 2, 2, 1]) --> 1)
3. ๋งŒ์•ฝ ๋ฐฐ์—ด ๋‚ด ๋ชจ๋“  ๊ฐ’์ด ๋˜‘๊ฐ™๋‹ค๋ฉด ๋‘ ๋ฒˆ์งธ ํฐ ๊ฐ’์€ ์—†๊ธฐ ๋•Œ๋ฌธ์— 'equality'๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.
"""
from collections import deque

def solution(n, m, image):
    answer = 0
    q = deque()
    img = [(im, (i, idx)) for i, img in enumerate(image) for idx, im in enumerate(img)]
    while img:
        has = False
 if not q:
@shoark7
shoark7 / answers.py
Created September 8, 2019 05:32
My code for Kakao open blind test 2020
# 1.
"""
"""
def solution(s):
N = len(s)
MAX_SIZE = N // 2 + 1
def run_length_len(s, r):
ans = count = 0
@shoark7
shoark7 / odd_even_sort.md
Last active September 7, 2019 02:50
์ •์ˆ˜ ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋˜, ํ™€์ˆ˜๊ฐ€ ์ง์ˆ˜๋ณด๋‹ค ๋ฌด์กฐ๊ฑด ์•ž์— ์˜ค๊ฒŒ ํ•˜๋ผ.
# ๋ฏธ์—ฐ๋‹˜์ด ์˜ฌ๋ ค์ฃผ์‹  ์ฝ”๋“œ์—์š”. ์—ฌ๊ธฐ์— ๋Œ€ํ•ด ํ”ผ๋“œ๋ฐฑ ๋“œ๋ ค๋ณผ๊ฒŒ์š”.
# ์ •๋‹ต๋ณด๋‹ค๋„ ๊ฐ€๋…์„ฑ ์ข‹์€ ์ฝ”๋”ฉ ์Šคํƒ€์ผ์— ๋Œ€ํ•ด์„œ
A = [1, 2, 3, 4, 5, 6, 73, 8, 10, 54]

odd = 0
even = 0

odds=[]
evens=[]
@shoark7
shoark7 / ok.py
Last active September 5, 2019 01:41
programmers์˜ '์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์ž', '๋ชจ์˜๊ณ ์‚ฌ' ํ’€์–ด๋ดค์Šต๋‹ˆ๋‹ค.
# ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์ž
# dict ๋‚ด์žฅ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋นˆ๋„์ˆ˜๋ฅผ ์„ธ๋Š” ์—ฐ์‚ฐ์— ๋งค์šฐ ํŠนํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
# ์ž˜ ํ™œ์šฉํ•˜์‹œ๋ฉด ์ข‹์•„์š”.
def solution(participant, completion):
dic = {}
for p in participant:
dic[p] = dic.get(p, 0) + 1
# dict.get ๋ฉ”์†Œ๋“œ๋Š” ์ค‘์š”ํ•ด์„œ ๊ผญ ์•Œ์•„๋‘์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.
@shoark7
shoark7 / odd_even_sort.py
Last active September 2, 2019 11:30
ํ™€/์ง ์šฐ์„  ์ •๋ ฌ์„ ํ•ด๋ด…์‹œ๋‹ค.
"""์ •์ˆ˜ ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋˜, ํ™€์ˆ˜๊ฐ€ ๋ฌด์กฐ๊ฑด ์ง์ˆ˜๋ณด๋‹ค ์•ž์„œ๊ฒŒ ์ •๋ ฌํ•˜๋ผ.
:์ž…๋ ฅ:
arr | arr: ์ •์ˆ˜ ๋ฐฐ์—ด. ํฌ๊ธฐ๋Š” 1,000,000 ์ดํ•˜. ๊ฐ ์ •์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์€ 1๋ฐฑ๋งŒ ์ดํ•˜.
:์ถœ๋ ฅ:
list of int: ์ •๋ ฌ๋œ ๋ฐฐ์—ด. ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋˜, ํ™€์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด ์ง์ˆ˜๋ณด๋‹ค ์•ž์„ ๋‹ค.
:ex:
[1, 4, 3, 2, 1, 5, 4, 2] --> [1, 1, 3, 5, 2, 2, 4, 4]
"""
@shoark7
shoark7 / is_palindrome.py
Last active August 31, 2019 04:46
Introduce several ways to judge whether an word is a parlindrome.
# 1. basic: using for loop
def is_palindrome_basic(word):
SIZE = len(word)
for i in range(SIZE // 2):
if word[i] != word[SIZE-1-i]:
return False
return True
# 2. Pythonic way: reversing word easily
@shoark7
shoark7 / basic-terminology-in-programming.md
Last active June 30, 2023 05:52
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•„์ˆ˜์ ์ธ ์šฉ์–ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ด…์‹œ๋‹ค!

๊ฐœ๋…์„ ๋จธ๋ฆฌ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, ํŒ€์›๊ณผ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ ์ด๋ฆ„์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ์šฉ์–ด๋ฅผ ์กฐ๊ธˆ ์ •์˜ํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ทธ์˜ ์ด๋ฆ„์„ ๋ถˆ๋Ÿฌ์ฃผ๊ธฐ ์ „์—๋Š” ๊ทธ๋Š” ๋‹ค๋งŒ ํ•˜๋‚˜์˜ ๋ชธ์ง“์— ์ง€๋‚˜์ง€ ์•Š์•˜๋‹ค.
๋‚ด๊ฐ€ ๊ทธ์˜ ์ด๋ฆ„์„ ๋ถˆ๋Ÿฌ์ฃผ์—ˆ์„ ๋•Œ, ๊ทธ๋Š” ๋‚˜์—๊ฒŒ๋กœ ์™€์„œ ๊ฝƒ์ด ๋˜์—ˆ๋‹ค.

๊น€์ถ˜์ˆ˜ <๊ฝƒ>

@shoark7
shoark7 / what-is-self-in-python-method.md
Last active June 5, 2023 11:02
ํŒŒ์ด์ฌ์—์„œ ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” 'self' ์ธ์ž์˜ ๋œป์„ ์‚ดํŽด๋ด…์‹œ๋‹ค.

ํŒŒ์ด์ฌ์—์„œ ํด๋ž˜์Šค๋ฅผ ์ฒ˜์Œ ๋งŒ๋“ค๋ฉด ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ์ฒซ ์ธ์ž๋Š” 'self'๋ผ๊ณ  ๋†“๊ณ  ์‹œ์ž‘ํ•˜๋Š”๋ฐ์š”. ์™œ ๊ทธ๋Ÿด๊นŒ์š”? ์˜ค๋Š˜์€ ๊ทธ ์ด์œ ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ € ๊ฐ„๋‹จํžˆ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

class Person:
    def __init__(self, name, job):
        self.name = name
        self.job = job
 
@shoark7
shoark7 / everything-is-class-in-python.md
Last active June 22, 2019 04:33
ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ํด๋ž˜์Šค๋‹ค?

์˜ค๋Š˜์€ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ํด๋ž˜์Šค๋ผ๋Š” ๊ฐœ๋…์ด ์–ด๋ ต๊ณ  ์กฐ๊ธˆ์€ ์ฒ ํ•™์ ์ด๊ธฐ๊นŒ์ง€ ํ•ด์„œ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๊ฐ€์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–‰์—ฌ๋‚˜ ์ดํ•ด๊ฐ€ ๋‹น์žฅ์— ํž˜๋“œ์…”๋„ ์ •๋ง ๊ดœ์ฐฎ์€ ๊ฒŒ ์ €๋„ ์ด ๊ฐœ๋…์„ ์ •๋ง ์ตœ์†Œํ•œ์ด๋ผ๋„ ์ดํ•ดํ•˜๋Š” ๋ฐ 1๋…„์€ ๊ฑธ๋ฆฐ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋Š” ์ผ๋‹จ์€ 'ํ˜„์‹ค์˜ ์‹ค์ œ ๊ฐœ๋…๊ณผ ์‚ฌ๋ฌผ(์ธ๊ฐ„, ์ฐจ, ๊ธธ๊ฑฐ๋ฆฌ์˜ BMW๋ฅผ)์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ'์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์…”๋„ ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งŽ์ด ์จ๋ณด๋‹ค ๋ณด๋ฉด ๊ฒฐ๊ตญ์—๋Š” ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ํด๋ž˜์Šค ๋˜๋Š” OOP(Object-Oriented Programming) ์ž์ฒด๋ณด๋‹ค๋Š” ํŒŒ์ด์ฌ์—์„œ์˜ ํด๋ž˜์Šค์˜ ํŠน์ง•์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์„ ๊ณ„์† ๊ณต๋ถ€ํ•˜์‹œ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…์ œ๋ฅผ ๋“ค์–ด๋ณด์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. 'ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ํด๋ž˜์Šค๋‹ค.' ์ด๊ฒŒ ๋Œ€๊ด€์ ˆ ๋ฌด์Šจ ๋œป์ผ๊นŒ์š”? ์ผ๋‹จ ์ € ๋ช…์ œ ์ž์ฒด๋Š” '์ฐธ'(True)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ŠคํŠธ์—์„œ๋Š” ์ € ๋ช…์ œ๊ฐ€ ์™œ ์ฐธ์ธ์ง€ ๋Œ€๋žต์ ์œผ๋กœ๋ผ๋„ ํŒŒ์•…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


1. ํ•จ์ˆ˜ ์†Œ๊ฐœ: isinstance, issubclass

์ € ๋ช…์ œ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด์žฅ ํ•จ์ˆ˜ isinstance, issubclass๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฌธ์„œ(isinstance, issubclass)๊ฐ€ ์žˆ์–ด์„œ ๋งค์šฐ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋‘ ํ•จ์ˆ˜๋Š” ํด๋ž˜์Šค์™€ ๊ด€๋ จํ•œ ์ฐธ/๊ฑฐ์ง“์„ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•œ ์ค„ ์„ค๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.