๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐Ÿ’ป Programming97

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ (๊ตฌํ˜„) ๋ฌธ์ œ ํ’€์ด def solution(id_list, report, k): answer = [0]*len(id_list) report = list(set(report)) id = dict() ans_dict = dict() for i in range(len(id_list)): id[id_list[i]]=0 ans_dict[id_list[i]]=0 for i in report: a = i.split(' ')[0] b = i.split(' ')[1] id[b] +=1 for i in range(len(report)): a = report[i].split(' ')[0] b = report[i].split(' ')[1] if id[b] >= k: ans_dict[a] += 1 for i in range(len(id.. 2022. 2. 15.
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์‹คํŒจ์œจ (์ •๋ ฌ) ๋ฌธ์ œ ํ’€์ด ์šฐ์„  ์Šคํ…Œ์ด์ง€ ๋ฒˆํ˜ธ์™€ ์‹คํŒจ์œจ์„ ํ•จ๊ป˜ ์ €์žฅํ•  ๋”•์…”๋„ˆ๋ฆฌ answer์„ ๋งŒ๋“ ๋‹ค. ์Šคํ…Œ์ด์ง€๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์Šคํ…Œ์ด์ง€์—์„œ for๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ฐ ์ธ๋ฑ์Šค๋ฅผ ์นด์šดํŠธํ•ด์„œ 0๊ฐœ์ด๋ฉด answer์— 0์„, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด answer์— ์‹คํŒจ์œจ์„ ๊ณ„์‚ฐํ•ด์„œ ๋„ฃ๊ณ  ์œ ์ €์ˆ˜๋Š” ์นด์šดํŠธํ–ˆ๋˜ ์ˆ˜๋Š” ๋นผ์ค€๋‹ค. for๋ฌธ์„ ๋‹ค ๋Œ๊ณ  answer์„ ์‹คํŒจ์œจ์— ๋”ฐ๋ผ ์ •๋ ฌํ•ด์„œ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. def solution(N, stages): answer = {} stages.sort() numUser = len(stages) for i in range(1,N+1): cnt = stages.count(i) if cnt==0: answer[i]=0 else: answer[i]=(cnt/numUser) numUser=numUser-cnt answer = dict(.. 2022. 2. 15.
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ํ”„๋ฆฐํ„ฐ (์Šคํƒํ) ๋ฌธ์ œ ํ’€์ด ํ์— ์šฐ์„  ์ˆœ์œ„, index ์ˆœ์œผ๋กœ ์ €์žฅํ•˜๊ณ  while ๋ฌธ์„ ๋Œ๋ฉด์„œ ํ์—์„œ ํ•˜๋‚˜์”ฉ ๋นผ๊ณ  ์šฐ์„ ์ˆœ์œ„์— ๋” ๋†’์€๊ฒŒ ํ์— ๋‚จ์•„์žˆ์œผ๋ฉด ํ˜„์žฌ ๊ฐ’์„ ๋‹ค์‹œ ํ์— ์ง‘์–ด๋„ฃ๋Š”๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์— result์— +1 ํ•˜๊ณ  ํ˜„์žฌ index๊ฐ€ location๊ณผ ๋™์ผํ•˜๋ฉด while ๋ฌธ breakํ•˜๊ณ  result๋ฅผ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. from collections import deque def solution(priorities, location): result = 0 d = deque([(v,i) for i,v in enumerate(priorities)]) # priority, index ์ˆœ์œผ๋กœ que์— ์ €์žฅ while len(d): item = d.popleft() if d and max(d)[0] > item[0]: .. 2022. 2. 14.
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_๋ฌธ์ž์—ด ์••์ถ• (์™„์ „ ํƒ์ƒ‰) ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž๊ฐ€ 1000 ์ดํ•˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธธ์ด๊ฐ€ N์ธ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜๋ฉด 1๋ถ€ํ„ฐ N/2 ๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋‹จ์œ„๋กœ ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์••์ถ•ํ•˜๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜๊ณ , ๊ฐ€์žฅ ์งง๊ฒŒ ์••์ถ•๋˜๋Š” ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์€ step ์‚ฌ์ด์ฆˆ๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์„œ prev์— ์ €์žฅํ•ด๋‘๊ณ , ๋‹ค์Œ ์œ„์น˜๋ฅผ step ์‚ฌ์ด์ฆˆ๋กœ ์ž๋ฅด๊ณ  prev์™€ ๋˜‘๊ฐ™์€์ง€ ๋น„๊ตํ•˜๋ฉด์„œ ์ง„ํ–‰ํ•œ๋‹ค. def solution(s): answer = len(s) # step์„ 1๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ๊ธธ์ด ๋ฐ˜๊นŒ์ง€ ๋Š˜๋ ค๊ฐ€๋ฉฐ ํ™•์ธ for step in range(1, len(s)//2 +1): compressed = "" prev = s[0:step] # ์•ž์—์„œ ๋ถ€ํ„ฐ step ๋งŒํผ์˜ ๋ฌธ์ž์—ด ์ถ”์ถœ count = 1 # step.. 2022. 2. 14.
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž๋ฌผ์‡ ์™€ ์—ด์‡  (์™„์ „ ํƒ์ƒ‰) ๋ฌธ์ œ ํ’€์ด ์—ด์‡ ๋ฅผ ์ ๋‹นํžˆ ํšŒ์ „/์ด๋™์‹œ์ผœ์„œ ์ž๋ฌผ์‡  ํ™ˆ์— ๋”ฑ ๋งž๊ฒŒ ๋ผ์›Œ์•ผ ํ•œ๋‹ค. ์—ด์‡ ์™€ ์ž๋ฌผ์‡  ์‚ฌ์ด์ฆˆ๊ฐ€ ํฌ์ง€ ์•Š์œผ๋ฏ€๋กœ ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜์›”ํ•œ ํ’€์ด๋ฅผ ์œ„ํ•ด ์ž๋ฌผ์‡  ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๋ฅผ 3๋ฐฐ ์ด์ƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž๋ฌผ์‡ ๋ฅผ ์ค‘๊ฐ„์— ๋‘๊ณ  ๋‚˜๋จธ์ง€๋Š” zero padding)ํ•˜๊ณ  ์—ด์‡ ๋ฅผ ์Šฌ๋ผ์ด๋”ฉ/ํšŒ์ „ ์‹œํ‚ค๋ฉด์„œ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ 90๋„ ํšŒ์ „์‹œํ‚ค๋Š” ํ•จ์ˆ˜์™€ ์ž๋ฌผ์‡  ๋ฆฌ์ŠคํŠธ์˜ ์ค‘๊ฐ„ ๋ถ€๋ถ„์ด ๋ชจ๋‘ 1์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค. ๋ฉ”์ธ์ธ solution ํ•จ์ˆ˜์—์„œ๋Š” ์ž๋ฌผ์‡ ์˜ ํฌ๊ธฐ๋ฅผ 3๋ฐฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ž๋ฌผ์‡  ๋ฆฌ์ŠคํŠธ ์ค‘๊ฐ„์— ๊ธฐ์กด์˜ ์ž๋ฌผ์‡ ๋ฅผ ๋„ฃ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  4๊ฐ€์ง€ ๋ฐฉํ–ฅ๊ณผ ์—ด์‡ ๊ฐ€ ์ด๋™ํ•˜๋Š” ํ•˜๋Š” ๊ฒƒ์„ for๋ฌธ์„ ๋ˆ๋‹ค. ์—ด์‡ ๋Š” ๊ฐ ์œ„์น˜์—์„œ ์ž๋ฌผ์‡ ์— ๋„ฃ๊ณ  ์—ด์‡ ๊ฐ€ ์ž๋ฌผ์‡ ์— ์ •ํ™•ํžˆ ๋“ค์–ด๋งž๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋‹ค์‹œ ์ž๋ฌผ์‡ ์—์„œ ์—ด์‡ ๋ฅผ ๋นผ.. 2022. 2. 14.
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์นดํŽซ (์™„์ „ ํƒ์ƒ‰) ๋ฌธ์ œ ํ’€์ด ์นดํŽซ ๊ทธ๋ฆผ์„ ๋ณด๊ณ  ๊ฐ€๋กœ๊ธธ์ด = a, ์„ธ๋กœ๊ธธ์ด = b ๋กœ ๋‘๊ณ  ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์‹์„ ๋งŒ๋“ค๊ณ  for ๋ฌธ ๋Œ๋ฉด์„œ if ๋ฌธ์œผ๋กœ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. def solution(brown, yellow): total = brown + yellow for b in range(1, total+1): if total/b % 1 == 0: a = total/b if a>=b: if ((a-2)*(b-2) == yellow) and (2*a + 2*b -4 == brown): return [int(a),int(b)] 2022. 2. 14.
728x90