๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜65

[์ด์ฝ”๋‹ค] ๊ธฐ์ถœ๋ฌธ์ œ - ๊ทธ๋ฆฌ๋”” p.311 ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ ๋‚ด ํ’€์ด n = int(input()) guild = list(map(int,input().split())) guild.sort() cnt=0 while guild: num = guild.pop(0) guild = guild[num:] cnt+=1 ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ  quild๊ฐ€ ์—†์–ด์งˆ๋•Œ๊นŒ์ง€ ์ฒซ๋ฒˆ์งธ ๋ชจํ—˜๊ฐ€๋ฅผ ๋นผ๊ณ  ๊ทธ ๋ชจํ—˜๊ฐ€์˜ ๊ณตํฌ๋„๋งŒํผ์˜ ๋ช…์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์˜ค๋ฅ˜ : 2,3,3 ์ด๋ฉด ๊ทธ๋ƒฅ 2,3์ด ๋น ์ง€๊ฒŒ ๋ ํ…๋ฐ 3์€ 3๋ช… ์ด์ƒ์ด์–ด์•ผ์ง€ ๊ทธ๋ฃน์ด ๊ฒฐ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋กœ์ง ์ž์ฒด๊ฐ€ ํ‹€๋ ธ๋‹ค. ์ •๋‹ต ํ’€์ด n = int(input()) guild = list(map(int,input().split())) guild.sort() cnt=0 ans=0 for i in gui.. 2021. 8. 25.
[์ด์ฝ”๋‹ค] ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ p.217 - 1๋กœ๋งŒ๋“ค๊ธฐ ์ฒ˜์Œ ํ’€์ด(์˜ค๋‹ต) def solution(num): cnt=0 def calculate(x): if x%5==0: return x//5 elif x%3==0: return x//3 elif x%2==0: return x//2 elif x>1: return x-1 while num!=1: num = calculate(num) cnt+=1 solution(26) #5 ๊ทธ๋ฆฌ๋””์ฒ˜๋Ÿผ ํ‘ผ ์ฒ˜์Œ ํ’€์ด ์ฒซ ๋‹จ๊ณ„์— ์œ„์™€๊ฐ™์€ ์ˆœ์„œ๋กœ ํ•ด์•ผ์ง€ ๊ฐ€์žฅ ์ž‘์€ ์—ฐ์‚ฐ์˜ ํšŸ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ํ•˜๋ฉด 2๋กœ ๋จผ์ € ๋‚˜๋ˆ„๊ฒŒ ๋˜๊ณ  ๊ทธ๋Ÿฌ๋ฉด ๋‹ต์•ˆ๊ณผ ๋‹ค๋ฅด๊ฒŒ 5๋ผ๋Š” ๋‹ต์ด ๋‚˜์˜จ๋‹ค. ์ด ๋ฌด์ œ๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๊ณ  ๊ทธ ๊ทผ๊ฑฐ๋Š” 1) ๋ถ€๋ถ„์ ์ธ ์—ฐ์‚ฐ์˜ ํ•ฉ์ด ๋‹ต์ด ๋œ๋‹ค. 2) ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ ์ง„๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ.. 2021. 8. 23.
[์ด์ฝ”๋‹ค] ์ •๋ ฌ & ์ด์ง„ํƒ์ƒ‰ ์‹ค์ „๋ฌธ์ œ p.181 ์ •๋ ฌ ์‹ค์ „๋ฌธ์ œ def solution(): n = int(input()) student = [] for i in range(n): name,grade = input().split() student.append([name,int(grade)]) student =sorted(student,key = lambda x : x[1] ) for i in student: print(i[0],end=' ') solution() ์ •๋ง์ •๋ง ๊ฐ„๋‹คํ•œ ๋ฌธ์  ๋ฐ ๋‹จ์ˆœํ•œ ์‹ค์ˆ˜๋ฅผ ํ•ด์„œ ๊ธฐ๋กํ•œ๋‹ค. ๋ฐฐ์šด์  1. ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์ด ์ •์ˆ˜์ธ์ง€ ๋ฌธ์ž์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ 2. sorted๋ฅผ ํ•˜๊ณ  ๋‚œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์‹œ ๋ฐ›๊ธฐ (sort์™€ ๋‹ค๋ฅด๋‹ค! ์ •๋ ฌํ•œ ๊ฐ’์„ ์žฌํ• ๋‹น ํ•ด์ค˜์•ผ ํ•œ๋‹ค) p.182 ๋‘ ๋ฐฐ์—ด์˜ ์›์†Œ ๊ต์ฒด ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ƒ๊ฐ ์•ˆํ•˜๊ณ  ํ‘ผ ํ’€์ด def .. 2021. 7. 28.
[์ด์ฝ”๋‹ค] ๊ทธ๋ฆฌ๋‹ค & ๊ตฌํ˜„ ์‹ค์ „๋ฌธ์ œ ์‹œ๊ฐ„์ œํ•œ1 ์ดˆ ๋ฐ์ดํ„ฐ :100๋งŒ๊ฐœ => O ( n log n) p.96 ์ˆซ์ž์นด๋“œ๊ฒŒ์ž„ ๋‚ดํ’€์ด ํ’€์ด์‹œ๊ฐ„ ์‹œ๊ฐ„๋ณต์žก๋„ 20m O(N log N) def solution (): n,m = map(int,input().split()) for i in range(n): matrix.append(min(list(map(int, input().split())))) print(max(matrix)) result= 0 solution() ๋ฐฐ์šด์  ๋‹ต์˜ ํ›„๋ณด๋“ค์„ ๋ฐฐ์—ด์— ๋„ฃ์ง€ ๋ง๊ณ  ๊ทธ๋ƒฅ ๋‘๊ฐ€์ง€ ๊ฐ’์„ ๋ฐ”๋กœ max๋กœ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค result = 0 for i in arr: result = max(i,result) p.100 ์ˆซ์ž์นด๋“œ ํ’€์ด์‹œ๊ฐ„ ์‹œ๊ฐ„๋ณต์žก๋„ 20m O(N log N) ๋‚ด ์ฝ”๋“œ def solution(): n,k.. 2021. 7. 23.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด๋ถ„ํƒ์ƒ‰ (Binaray Search) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€๋‹ค ๋ณด๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„์˜ ๋Šช์— ๋น ์งˆ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ํŠนํžˆ ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ํฌ๋ฉด ๋ฐฐ์—ด ๋‚ด ํŠน์ •ํ•œ ๊ฐ’์„ ์ฐพ์„ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์€ ๋ชจ๋“  ๋ฐฐ์—ด์„ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค., i in arr ์ด๋Ÿด๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ถ„ํƒ์ƒ‰! ์ด๋ถ„ํƒ์ƒ‰์€ ๋ฐฐ์—ด์—์„œ ํŠน์ •ํ•œ ๊ฐ’์„ ์ฐพ์„ ๋•Œ ์ˆœ์ฐจ ํƒ์ƒ‰์ฒ˜๋Ÿผ ๋งค๋ฒˆ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒดํฌํ•˜์—ฌ ๊ฐ’์„ ์ฐพ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ํƒ์ƒ‰๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์”ฉ ์ค„์—ฌ๊ฐ€๋ฉฐ ์ฐพ์•„๊ฐ€๋Š” search ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ทธ๋ฆผ์„ ์—‰์„ฑํ•˜๊ฒŒ ๊ทธ๋ ธ์ง€๋งŒ ์ด๋ถ„ํƒ์ƒ‰์„ ์•„์ฃผ ์ง๊ด€์ ์ด๊ฒŒ ํ‘œํ˜„ํ•ด๋ณด์•˜๋‹ค. ๐Ÿ˜Ž ๊ทธ๋ ‡๋‹ค๋ฉด ์ฝ”๋“œ ๊ตฌํ˜„ ์‹œ์— ์–ด๋–ป๊ฒŒ ํ‘œํ˜„๋ ๊นŒ? ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ด์ง€๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚ฌ์„ ๋•Œ ์ ์šฉํ• ๋งŒํ•œ ์œ ํ˜•์„ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋ถ„๋ฆฌํ–ˆ๋Š”๋ฐ, 1) ๋ฐฐ์—ด๋‚ด ํŠน์ •ํ•œ ๊ฐ’์˜ idx๋ฅผ ์ฐพ์„ ๋•Œ 2) ๋ฐฐ์—ด๋‚ด์—์„œ ํŠน์ •ํ•œ ๊ฐ’์ด ์ถ”๊ฐ€๋  ๋•Œ์˜ ๊ทธ idx 3) 1).. 2021. 7. 11.
[codility] Lesson 4) FrogRiverOne MaxCounter ๐Ÿ“Œ 4-1) - FrogRiverOne ์ฃผ์–ด์ง„ 1๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ X๊ฐ’์ด ๋‚˜์˜จ ๊ฐ€์žฅ ๋น ๋ฅธ idx๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ ์ฒซ ํ’€์ด (54%) def solution(X, A): idArr = [0]*X for i in range(len(A)): idArr[A[i]-1]=1 if sum(idArr)==X: return i return -1 1) idArr ์ƒ์„ฑ 2) A๋ฅผ ๋Œ๋ฉฐ ํ•ด๋‹น ๊ฐ’์„ idx๋กœ ๋„ฃ์–ด์คŒ 3) idArr๊ฐ€ ๋‹ค ์ฐผ์„ ๋•Œ return ์—ญ์‹œ๋‚˜ ์‹œ๊ฐ„๋ณต์žก๋„๋กœ ์ธํ•˜์—ฌ ์ ์ˆ˜๋ฅด ๋ฐ˜์ด๋‚˜ ๊นŽ์˜€๋‹ค. ์ œํ•œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N ** 2) ์ด๋ฏธ for + if์˜ ์กฐํ•ฉ์œผ๋กœ N^2์ด ๋˜์–ด์žˆ์—‡๊ณ  ๊ทธ์•ˆ์—์„œ sum์—ฐ์‚ฐ๊นŒ์ง€ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ์ž๋ผ๊ณ  sum์„ ์—†์• ์•ผ ํ•œ๋‹ค!! ๋‹ค๋ฅธ ํ’€์ด (100%) def solution(X, A): idArr = .. 2021. 7. 10.
[codility] Lv2- OddOccurrencesInArray,Lv3-TapeEquilibrium ,TapeEquilibrium ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ์—๋งŒ ์˜์กดํ•˜๋˜ํ„ฐ๋ผ, coldility ๋ผ๋Š” ์ƒˆ๋กœ์šด ์ฝ”๋“œํ’€์ด ํ”Œ๋žซํผ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๋ฌธ์ œ๋ฅผ ์—ด์‹ฌํžˆ ํ’€์–ด๋ณด๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๋ฉด์„œ ์ฒ˜์Œ์œผ๋กœ ๋†€๋ž€ ๊ฒƒ์€ ์ฝ”๋“œ์˜ ํšจ์œจ์„ฑ์„ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๊ฒƒ ๊ทธ๋™์•ˆ์€ ๊ทธ๋ ‡๊ฒŒ ํšจ์œจ์„ฑ์— ๋Œ€ํ•ด์„œ ๊นŠ๊ฒŒ ์ƒ๊ฐํ•ด๋ณด์ง€ ๋ชปํ–ˆ์ง€๋งŒ, ํšจ์œจ์„ฑ์ด ์ข‹์ง€์•Š๊ฑฐ๋‚˜ ์ง€๋‚˜์นœ ๋ฐ˜๋ณต๋ฌธ์ด ๊ณ„์†๋˜๋Š” ์ฝ”๋“œ๋Š”.... score์—์„œ ๊นŽ์ด๊ฒŒ ๋œ๋‹ค... ๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ ๋ฐฐ์šด ์  1. ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค. 2. ์ž…๋ ฅ๊ฐ’์˜ ๋ฒ”์œ„ ํฌ๊ธฐ๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค. 3. ์‹œ์ž‘๋ณต์žก๋„์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ํ•˜์ž (https://rrecoder.tistory.com/63) ๐Ÿ“Œ 2- OddOccurrencesInArray ๋ฐฐ์—ด์—์„œ ์ž์‹ ๊ณผ ์ค‘๋ณตํ•œ ๊ฐ’์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ๊ฐ’์„ return ํ•˜๋Š” ๋ฌธ์ œ ์ฒซ ํ’€์ด def solution(A): cntDic.. 2021. 6. 21.
[๋ฐฑ์ค€] ํŒŒ์ด์ฌ/ ๊ทธ๋ฆฌ๋”” 11047_๋™์ „0 , 1541_์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ ๐Ÿ“Œ11047 ๋™์ „0 https://www.acmicpc.net/problem/11047 11047๋ฒˆ: ๋™์ „ 0 ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 10, 1 โ‰ค K โ‰ค 100,000,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค Ai โ‰ค 1,000,000, A1 = 1, i โ‰ฅ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜) www.acmicpc.net ๋‚ด ํ’€์ด import sys input= sys.stdin.readline coins=[] coinCnt=0 n,k = map(int,input().split()) for i in range(n): coins.append(int(input())) left=0 for j in range(len(coins),0,-1).. 2021. 6. 8.
[๋ฐฑ์ค€] ํŒŒ์ด์ฌ / ๊ทธ๋ฆฌ๋”” 2839_์„คํƒ•๋ฐฐ๋‹ฌ ๐Ÿ“Œ2839 ์„คํƒ• ๋ฐฐ๋‹ฌ https://www.acmicpc.net/problem/2839 2839๋ฒˆ: ์„คํƒ• ๋ฐฐ๋‹ฌ ์ƒ๊ทผ์ด๋Š” ์š”์ฆ˜ ์„คํƒ•๊ณต์žฅ์—์„œ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ง€๊ธˆ ์‚ฌํƒ•๊ฐ€๊ฒŒ์— ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์„คํƒ•๊ณต์žฅ์—์„œ ๋งŒ๋“œ๋Š” ์„คํƒ•์€ ๋ด‰์ง€์— ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค. ๋ด‰์ง€๋Š” 3ํ‚ฌ๋กœ๊ทธ www.acmicpc.net ์ฒ˜์Œ ๋”ฑ ๋“  ์ƒ๊ฐ์€ 3์ธ๊ฒฝ์šฐ / 5์ธ๊ฒฝ์šฐ / 3๊ณผ 5 ๋‘˜ ๋‹ค๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ ๋ฅผ ๋‹ค ์„ธ์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋นผ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋‚ด ํ’€์ด (์˜ค๋‹ต) n=int(input) def three(num): if num%3 ==0: return num//3 else: return -1 def five(num): if num%5 ==0: return num//5 else: return -1 d.. 2021. 6. 1.
๋ฐ˜์‘ํ˜•