728x90

Python 48

[Algorithm] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜_6(ํ€ต ์ •๋ ฌ)

06-6 ํ€ต ์ •๋ ฌ ํ€ต ์ •๋ ฌ ์•Œ์•„๋ณด๊ธฐ ํ€ต ์ •๋ ฌ(quick sort): ๊ฐ€์žฅ ๋น ๋ฅธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ„ ๊ทธ๋ฆผ์€ ํ€ต ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ ๊ทธ๋ฃน์„ ํ‚ค ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ณผ์ •์„ ๋‚˜ํƒ€๋ƒˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํ‚ค๊ฐ€ 168cm์ธ ํ•™์ƒ A๋ฅผ ์„ ํƒํ•˜์—ฌ ์ด ํ•™์ƒ์„ ๊ธฐ์ค€์œผ๋กœ 168cm ๋ฏธ๋งŒ์ธ ๊ทธ๋ฃน๊ณผ 168cm ์ด์ƒ์ธ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์ด๋•Œ ๊ทธ๋ฃน์„ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€(ํ•™์ƒ A์˜ ํ‚ค)์„ ํ”ผ๋ฒ—(pivot)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. [ํ”ผ๋ฒ—์€ ๋‹ค๋ฅธ ๋ง๋กœ ์ค‘์‹ฌ์ถ•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ”ผ๋ฒ—์€ ์ž„์˜๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ณ , ์„ ํƒ๋œ ํ”ผ๋ฒ—์€ 2๊ฐœ๋กœ ๋‚˜๋ˆˆ ๊ทธ๋ฃน ์–ด๋””์— ๋„ฃ์–ด๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.] ๋‹ค์‹œ ๊ฐ ๊ทธ๋ฃน์—์„œ ํ”ผ๋ฒ—์„ ์„ ํƒํ•˜์—ฌ ๋‚˜๋ˆ„๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋ชจ๋“  ๊ทธ๋ฃน์ด 1๋ช…์”ฉ ๋‚จ์œผ๋ฉด ์ •๋ ฌ์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์„ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ ๋จผ์ € ํ”ผ๋ฒ—์„ x, ์™ผ์ชฝ ๋ ์›์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ pl(์™ผ์ชฝ ์ปค์„œ), ์˜ค..

Code/Algorithm 2023.01.08

[Algorithm] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜_5(์…ธ ์ •๋ ฌ)

06-5 ์…ธ ์ •๋ ฌ ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ์˜ ํŠน์ง• ์žฅ์ : ์ด๋ฏธ ์ •๋ ฌ์„ ๋งˆ์ณค๊ฑฐ๋‚˜ ์ •๋ ฌ์ด ๊ฑฐ์˜ ๋๋‚˜๊ฐ€๋Š” ์ƒํƒœ์—์„œ๋Š” ์†๋„๊ฐ€ ์•„์ฃผ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋‹จ์ : ์‚ฝ์ž…ํ•  ์œ„์น˜๊ฐ€ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ์œผ๋ฉด ์ด๋™ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. ์…ธ ์ •๋ ฌ ์•Œ์•„๋ณด๊ธฐ ์…ธ ์ •๋ ฌ(shell sort): ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ์˜ ์žฅ์ ์€ ์‚ด๋ฆฌ๊ณ  ๋‹จ์ ์€ ๋ณด์™„ํ•˜์—ฌ ๋” ๋น ๋ฅด๊ฒŒ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์…ธ ์ •๋ ฌ์€ ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ์˜ ์žฅ์ ์„ ์‚ด๋ฆฌ๊ณ  ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ ํšŸ์ˆ˜๋Š” ๋Š˜์–ด๋‚˜์ง€๋งŒ ์ „์ฒด์ ์œผ๋กœ ์›์†Œ์˜ ์ด๋™ ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์‹ค์Šต 6-8 ์…ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ํ•˜๊ธฐ # ์…ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ํ•˜๊ธฐ from typing import MutableSequence def shell_sort(a: MutableSequence) -> None: """์…ธ ์ •๋ ฌ""" n = l..

Code/Algorithm 2023.01.08

[Programmers] k์˜ ๊ฐœ์ˆ˜

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ์ฒ˜์Œ์—๋Š” string ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด answer +1๋กœ ํ•˜์˜€์ง€๋งŒ, 11์˜ ๊ฒฝ์šฐ 1์„ 2๋ฒˆ count ํ•ด์•ผ ํ•˜์—ฌ ์‹คํŒจ Counter๋กœ ๊ฐฏ์ˆ˜๋ฅผ ์„ผ ํ›„ value ๊ฐ’ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฐœ์ˆ˜๋ฅผ answer์— ๋”ํ•ด์คŒ. from collections import Counter def solution(i, j, k): answer = 0 for num in range(i, j+1): cnt = Counter(list(str(num))) if str(k) in list(map(str, cnt.keys())): answer += cnt[f'{k}'] return answer ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด count ํ•จ์ˆ˜ ์“ฐ๊ธฐ... def solution(i, j, k): answer = sum([..

Coding test 2023.01.05

[Programmers] ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด a๊ฐ€ b๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ๋‘ ๊ฐ’์„ ๊ตํ™˜, ๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ ๋ฐ”๋กœ ๋ฆฌํ„ดํ•ด์คŒ. ๊ทธ ํ›„ ๋ฒ”์œ„ ๊ฐ’์„ ๋”ํ•ด์คŒ. def solution(a, b): answer = 0 if a b: a, b = b, a for i in range(a, b+1): answer += i return answer ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด a๊ฐ€ b๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ๋‘ ๊ฐ’ ๊ตํ™˜ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฒ”์œ„์˜ sum์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ def adder(a, b): # ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š” if a > b: a, b = b, a return sum(range(a,b+1)) - coding test url: https://school..

Coding test 2023.01.04

[Programmers] ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • t์˜ ์ž๋ฆฟ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต. ๋‹จ, ๋‚จ์€ ๋ฌธ์ž์—ด์ด p์˜ ๋ฌธ์ž์—ด ๊ธธ์ด๋ณด๋‹ค ์ž‘์œผ๋ฉด ์ค‘๋‹จ t์—์„œ p์˜ ์ž๋ฆฟ์ˆ˜๋งŒํผ slicing ํ›„ ๋น„๊ต, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด answer์— += 1 def solution(t, p): answer = 0 for i in range(0,len(t)): if (len(t) - i) < len(p): break elif int(t[i:i+len(p)]) = int(t[i:i+len(p)]): answer += 1 return answer - coding test url: https://school.programmers.co.kr/learn/courses/30/lessons/147355 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ..

Coding test 2023.01.04

[Deep Learning] ๋ชจ๋ธ ์„ค๊ณ„ํ•˜๊ธฐ

๊ธฐ๋ณธ ์˜ˆ์ œ๋กœ ๋ชจ๋ธ ์„ค๊ณ„ ๊ณผ์ • ์„ค๋ช… ํ์•” ์ˆ˜์ˆ  ํ™˜์ž์˜ ์ƒ์กด์œจ ์˜ˆ์ธกํ•˜๊ธฐ # ๋”ฅ๋Ÿฌ๋‹์„ ๊ตฌ๋™ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ผ€๋ผ์Šค ํ•จ์ˆ˜ ํ˜ธ์ถœ from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ด import numpy as np import tensorflow as tf import pandas as pd # ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„ np.random.seed(3) tf.random.set_seed(3) # ์ค€๋น„๋œ ์ˆ˜์ˆ  ํ™˜์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ด Data_set = np.loadtxt('/content/drive/MyDrive/colab/deep_learning_basi..

Deep Learning 2022.12.30

[Algorithm] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜_4(๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ)

06-4 ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ ์•Œ์•„๋ณด๊ธฐ ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ(straight insertion sort): ์ฃผ๋ชฉํ•œ ์›์†Œ๋ณด๋‹ค ๋” ์•ž์ชฝ์—์„œ ์•Œ๋งž์€ ์œ„์น˜๋กœ ์‚ฝ์ž…ํ•˜๋ฉฐ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ๊ณผ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ •๋ ฌ๋œ ๋ถ€๋ถ„๊ณผ ์•„์ง ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์—์„œ ๋‹ค์‹œ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ ์ž‘์—…์„ n - 1๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉด ์ •๋ ฌ์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์•„์ง ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์˜ ๋งจ ์•ž ์›์†Œ๋ฅผ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์˜ ์•Œ๋งž์€ ์œ„์น˜์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœ ์‚ฝ์ž… ์ •๋ ฌ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ์š”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. for i in range(1, n): tmp ← a[i]๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค. tmp๋ฅผ a[0], ···, a[i -1]์˜ ์•Œ๋งž์€ ์œ„์น˜์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ฐ˜๋ณต ์ œ์–ด ๋ณ€์ˆ˜ j์— i..

Code/Algorithm 2022.12.26

[Algorithm] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜_3(๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ)

06-3 ๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ ๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ ์•Œ์•„๋ณด๊ธฐ ๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ(straight selection sort): ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๋ถ€ํ„ฐ ์„ ํƒํ•ด ์•Œ๋งž์€ ์œ„์น˜๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹จ์ˆœ ์„ ํƒ ์ •๋ ฌ์—์„œ ๊ตํ™˜ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„์ง ์ •๋ ฌํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์—์„œ ๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ a[min]์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. a[min]๊ณผ ์•„์ง ์ •๋ ฌํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์—์„œ ๋งจ ์•ž์— ์žˆ๋Š” ์›์†Œ๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ n - 1๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉด ์ •๋ ฌํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์ด ์—†์–ด์ง€๋ฉด์„œ ์ •์ฒด ์ •๋ ฌ์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ์š”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. for i in range(n - 1): min# a[i], ···, a[n-1]์—์„œ ํ‚ค๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ์˜ ์ธ๋ฑ์Šค a[i]์™€ a[min]์˜ ๊ฐ’์„ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์Šต 6-6 ๋‹จ์ˆœ ์„ ํƒ ..

Code/Algorithm 2022.12.26

[Programmers] ๋กค์ผ€์ดํฌ ์ž๋ฅด๊ธฐ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ์ฒซ ๋ฒˆ์งธ ํ’€์ด for๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด์„œ ๊ฐ๊ฐ์˜ ํ† ํ•‘ ์ข…๋ฅ˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด answer์— +1 ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์‹คํŒจ def solution(topping): answer = 0 for i in range(1, len(topping)+1): if len(set(topping[:i])) == len(set(topping[i:])): answer += 1 return answer ๋‘ ๋ฒˆ์งธ ํ’€์ด(๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด ์ฐธ๊ณ ) collections์˜ Counter ํ•จ์ˆ˜ ์‚ฌ์šฉ topping์˜ ๊ฐฏ์ˆ˜๋ฅผ๊ฐœ์ˆ˜๋ฅผ ์„ผ ํ›„, ํ•˜๋‚˜์”ฉ cnt dictionary์— ๋„ฃ์–ด๊ฐ€๋ฉด์„œ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•จ. ๋‹จ์ˆœ ์Šฌ๋ผ์ด์‹ฑ์ด ์•„๋‹Œ ๋”•์…”๋„ˆ๋ฆฌ ๋ณ€๊ฒฝ์œผ๋กœ ๋ณต์žก๋„ ๊ฐ์†Œ from collections import Counter def solution..

Coding test 2022.12.23

[Programmers] ํ• ์ธ ํ–‰์‚ฌ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • want์™€ number๋ฅผ key, value ํ˜•ํƒœ์˜ dictionary๋กœ ๋ณ€๊ฒฝ discount๋ฅผ 10์ผ์”ฉ slicing ํ•˜๋ฉด์„œ dic๊ณผ ๋™์ผํ•  ๋•Œ๋งˆ๋‹ค answer + 1 from collections import Counter def solution(want, number, discount): answer = 0 dic = {item : val for item, val in zip(want, number)} for i in range(len(discount)-9): if dic == Counter(discount[i:i+10]): answer += 1 return answer - coding test url: https://school.programmers.co.kr/learn..

Coding test 2022.12.20
728x90