728x90

์ „์ฒด ๊ธ€ 93

[Algorithm] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜_1

06-1 ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ ฌ์ด๋ž€? ์ •๋ ฌ(sorting): ์ด๋ฆ„, ํ•™๋ฒˆ, ํ•™์  ๋“ฑ์˜ ํ‚ค(key)๋ฅผ ํ•ญ๋ชฉ๊ฐ’์˜ ๋Œ€์†Œ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ์ผ์ •ํ•œ ์ˆœ์„œ๋กœ ๋ฐ”๊พธ์–ด ๋Š˜์—ฌ๋†“๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฆ„์ฐจ์ˆœ(ascending order): ๊ฐ’์ด ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ์•ž์ชฝ์— ๋Š˜์–ด๋†“๋Š” ๊ฒƒ ๋‚ด๋ฆผ์ฐจ์ˆœ(descending order): ๊ฐ’์ด ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์•ž์ชฝ์— ๋Š˜์–ด๋†“๋Š” ๊ฒƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์•ˆ์ •์„ฑ ์•ˆ์ •์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๊ฐ’์ด ๊ฐ™์€ ์›์†Œ์˜ ์ˆœ์„œ๊ฐ€ ์ •๋ ฌํ•œ ํ›„์—๋„ ์œ ์ง€๋˜๋Š” ๊ฒƒ ์•ˆ์ •์ ์ด์ง€ ์•Š์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ •๋ ฌํ•œ ํ›„์—๋„ ์šฐ๋„ˆ๋ž˜์˜ ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋œ๋‹ค๋Š” ๋ณด์žฅ์„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๋‚ด๋ถ€ ์ •๋ ฌ๊ณผ ์™ธ๋ถ€ ์ •๋ ฌ ๋‚ด๋ถ€ ์ •๋ ฌ(internal sorting): ์ •๋ ฌํ•  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์™ธ๋ถ€ ์ •๋ ฌ(external sort..

Code/Algorithm 2022.12.19

[2021 Dev-Matching] ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • lottos์— ์žˆ๋Š” ๋ฒˆํ˜ธ ์ค‘ win_nums์— ์žˆ๋Š” ๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ count += 1 ๊ฐ€๋ ค์ ธ์žˆ๋Š” ์ˆซ์ž 0์ด ์ „๋ถ€ ๋งž์„ ๊ฒฝ์šฐ(count(0))๋Š” ์ตœ๊ณ  ์ˆœ์œ„, ๊ฐ€๋ ค์ ธ ์žˆ์ง€ ์•Š๋Š” ์ˆซ์ž๋งŒ ์ผ์น˜ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ตœ์ € ์ˆœ์œ„ ๋งž๋Š” ๊ฐœ์ˆ˜๊ฐ€ 0, 1๊ฐœ์ผ ๊ฒฝ์šฐ 6์œ„์ด๋ฉฐ, ๋งž๋Š” ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ˆœ์œ„๋ฅผ rank์— ๋„ฃ์–ด์คŒ ๋งž๋Š” ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ๊ฐ’ ๋ฐ˜ํ™˜ def solution(lottos, win_nums): rank = [6, 6, 5, 4, 3, 2, 1] count = 0 cnt_0 = lottos.count(0) for i in win_nums: if i in lottos: count += 1 return rank[count+ cnt_0], rank[count] - coding test url: http..

Coding test 2022.12.19

[KAKAO BLIND RECRUITMENT] ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ(python)

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ๋“  ์ƒ๊ฐ์€ report๋ฅผ set ์ฒ˜๋ฆฌํ•˜์ž! ์˜€๋‹ค.. ์•„๋ฌด๋ž˜๋„ ์ค‘๋ณต์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๊ด€๊ฑด์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์€ ๊ฐ ์‹ ๊ณ ๋ฅผ ์‹ ๊ณ ์ž ๋ณ„๋กœ dictionaryํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ. ์ค‘๋ณต์ด ์—†์œผ๋‹ˆ key๋ฅผ ์‹ ๊ณ ์ž, value ๊ฐ’์„ ์‹ ๊ณ ๋‹นํ•œ ์‚ฌ๋žŒ์œผ๋กœ list๋กœ ๋งŒ๋“  ํ›„ append ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฒฐ์ •ํ•จ. ์ด์ œ ์‹ ๊ณ  ๋‹นํ•œ ํšŸ์ˆ˜๋ฅผ countํ•ด์•ผ ํ•˜๋Š”๋ฐ, stop์ด๋ผ๋Š” list๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‹ ๊ณ ๋‹นํ•œ ์‚ฌ๋žŒ์„ ๋„ฃ์—ˆ๊ณ , ๊ทธ ์ค‘ kํšŒ ์ด์ƒ ์‹ ๊ณ ๋‹นํ•œ ์‚ฌ๋žŒ๋งŒ ๋‚จ๋„๋ก ํ–ˆ๋‹ค. ์ด์ œ dictionary์— ์žˆ๋Š” ์‹ ๊ณ ์ž์™€ ์‹ ๊ณ  ๋‹นํ•œ ์‚ฌ๋žŒ์„ ๊ฐ๊ฐ items๋กœ ํ’€์–ด์„œ ์‹ ๊ณ ๋‹นํ•œ ์‚ฌ๋žŒ์ด stop์— ์žˆ์œผ๋ฉด count์— + 1 ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. from collections import d..

Coding test 2022.12.16

[Algorithm] ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜_4(8ํ€ธ ๋ฌธ์ œ)

05-4 8ํ€ธ ๋ฌธ์ œ 8ํ€ธ ๋ฌธ์ œ ์•Œ์•„๋ณด๊ธฐ 8ํ€ธ ๋ฌธ์ œ(8-Queen prooblem)๋Š” ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๋ช…ํ•  ๋•Œ ์ž์ฃผ ๋‚˜์˜ค๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. 8๊ฐœ์˜ ํ€ธ์ด ์„œ๋กœ ๊ณต๊ฒฉํ•˜์—ฌ ์žก์„ ์ˆ˜ ์—†๋„๋ก 8 x 8 ์ฒด์ŠคํŒ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”. ๋ถ„๊ธฐ ์ž‘์—…์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ ์‹ค์Šต 5-7 ๊ฐ ์—ด์— ํ€ธ์„ 1๊ฐœ ๋ฐฐ์น˜ํ•˜๋Š” ์กฐํ•ฉ์„ ์žฌ๊ท€์ ์œผ๋กœ ๋‚˜์—ดํ•˜๊ธฐ # ๊ฐ ์—ด์— ํ€ธ์„ 1๊ฐœ ๋ฐฐ์น˜ํ•˜๋Š” ์กฐํ•ฉ์„ ์žฌ๊ท€์ ์œผ๋กœ ๋‚˜์—ดํ•˜๊ธฐ pos = [0] * 8 # ๊ฐ ์—ด์—์„œ ํ€ธ์˜ ์œ„์น˜๋ฅผ ์ถœ๋ ฅ def put() -> None: """๊ฐ ์—ด์— ๋ฐฐ์น˜ํ•œ ํ€ธ์˜ ์œ„์น˜๋ฅผ ์ถœ๋ ฅ""" for i in range(8): print(f'{pos[i]:2}',end='') print() def set(i: int) -> None: """i์—ด์— ํ€ธ์„ ๋ฐฐ์น˜""" for j in range(8): po..

Code/Algorithm 2022.12.16

[KAKAO TECH INTERNSHIP 2022] ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ(python)

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ํฌ์ธํŠธ๋Š” ์•ž์— ์žˆ๋Š” ๋™์ ์ผ ๊ฒฝ์šฐ ์•ž์˜ ์œ ํ˜• ๊ธ€์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ def solution(survey, choices): sur = {'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M':0, 'A': 0, 'N':0} score = [3,2,1,0,1,2,3] answer = '' for tp, sc in zip(survey, choices): if sc 4: sur[tp[1:]] += score[sc-1] if sur['R'] >= sur['T']: answer += 'R' else: answer += 'T' if sur['C'] >= sur['F']: answer += 'C' ..

Coding test 2022.12.16

[Programmers] ์ˆซ์ž ์ง๊ฟ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ์ฒซ ๋ฒˆ์งธ ํ’€์ด: ์‹œ๊ฐ„ ์ดˆ๊ณผ from collections import Counter def solution(X, Y): answer = '' inter = list(set(X) & set(Y)) s = [] x = sorted(X, reverse = True) y = sorted(Y, reverse = True) cnt_x = Counter(x) cnt_y = Counter(y) if len(inter) == 0: return '-1' else: for i in sorted(inter, reverse = True): answer += str(i * min(cnt_x[i], cnt_y[i])) if int(answer) == 0: answer = '0' return answer ..

Coding test 2022.12.12

[Programmers] ์‚ผ์ด์‚ฌ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œํ’€์ด ๊ณผ์ • combination: ์ง€์ • ๊ฐœ์ˆ˜์”ฉ ์ค‘๋ณต ๋ฐฐ์—ด ์—†๋Š” ์กฐํ•ฉ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ•จ์ˆ˜ combination์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฆฌ์ŠคํŠธ์—์„œ 3๊ฐœ์”ฉ ์ค‘๋ณต ์—†๋Š” ์กฐํ•ฉ์„ ๋งŒ๋“ค์–ด ์คŒ list(map(sum, comb)): ์กฐํ•ฉ์˜ sum์„ map์„ ์ด์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜์—ฌ list๋กœ ๋งŒ๋“ค์–ด์คŒ answer์— ํ•ฉ์ด 0์ธ ๋ถ€๋ถ„์„ countํ•˜์—ฌ ๋”ํ•ด์คŒ from itertools import combinations def solution(number): answer = 0 comb = list(combinations(number, 3)) cnt = list(map(sum, comb)) answer += cnt.count(0) return answer ์ด๊ฑด ์ง„์งœ ์ž˜ ์งฐ๋‹ค. ๋งŒ์กฑํ•˜๋Š” ์ฝ”๋“œ - coding test url: h..

Coding test 2022.12.12

[Programmers] ์ฝœ๋ผ ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ์ฒซ ๋ฒˆ์งธ ํ’€์ด: ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ฑ๊ณต, ์‹ค์ œ ์ œ์ถœ ์‹คํŒจ def solution(a, b, n): answer = 0 while n >= a: val, div = divmod(n, a) answer += val n = (val*b) + div return answer ๋‘ ๋ฒˆ์งธ ํ’€์ด: answer์— * b ํ•˜๋Š” ๊ฑธ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฑธ ์žŠ์—ˆ๋‹ค..! ์„ฑ๊ณต! def solution(a, b, n): answer = 0 while n >= a: val, div = divmod(n, a) answer += (val*b) n = (val*b) + div return answer - coding test url: https://school.programmers.co.kr/learn/courses/30/..

Coding test 2022.12.12

[Programmers] ํ–„๋ฒ„๊ฑฐ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ingredient์˜ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ s์— ๋‹ด๊ณ , ๋’ค์—์„œ 4๋ฒˆ์งธ๋ถ€ํ„ฐ ๋งŒ์•ฝ์— [1, 2, 3, 1]๊ณผ ๋™์ผํ•˜๋‹ค๋ฉด answer += 1 ํ•˜๊ธฐ ์ดˆ๋ฐ˜์— ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋‹ค. def solution(ingredient): answer = 0 s = [] for i in ingredient: s.append(i) if s[-4:] == [1, 2, 3, 1]: answer += 1 del s[-4:] return answer - coding test url: https://school.programmers.co.kr/learn/courses/30/lessons/133502 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ..

Coding test 2022.12.11

[Programmers] ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ๊ณผ์ • ๋น„๊ต์  ์‰ฝ๊ฒŒ ํ‘ผ ๋ฌธ์ œ index 1๋ฒˆ๋ถ€ํ„ฐ 2๋กœ ๋‚˜๋ˆˆ ๋ชซ๋งŒํผ answer์— string type์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , 0๊ณผ ๋’ค์ง‘์€ answer๋ฅผ ๋ถ™์—ฌ์ค€ ๋ฐฉ์‹ def solution(food): answer = '' for i in range(1, len(food)): cnt = food[i] // 2 answer += str(i) * cnt ans = answer[-1::-1] answer = answer + '0' + ans return answer ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด def solution(food): answer = '' for i,n in enumerate(food[1:]): answer += str(i+1) * (n//2) return answer + "0" + answer[::..

Coding test 2022.12.11
728x90