[Python] ๋ฐฑ์ค€ 1920 - ์ˆ˜ ์ฐพ๊ธฐ
ยท
Algorithm
๋ฌธ์ œ N๊ฐœ์˜ ์ •์ˆ˜ A[1], A[2], …, A[N]์ด ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ, ์ด ์•ˆ์— X๋ผ๋Š” ์ •์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N(1≤N≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” N๊ฐœ์˜ ์ •์ˆ˜ A[1], A[2], …, A[N]์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” M(1≤M≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” M๊ฐœ์˜ ์ˆ˜๋“ค์ด ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด ์ˆ˜๋“ค์ด A์•ˆ์— ์กด์žฌํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋ฉด ๋œ๋‹ค. ๋ชจ๋“  ์ •์ˆ˜์˜ ๋ฒ”์œ„๋Š” -231 ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  231๋ณด๋‹ค ์ž‘๋‹ค. ์ถœ๋ ฅ M๊ฐœ์˜ ์ค„์— ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ์กด์žฌํ•˜๋ฉด 1์„, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต import sys n = int(sys.stdin.readline()) a = set(map(int, sys.stdin.readline().spli..
[Python] ์ด๋ถ„ ํƒ์ƒ‰
ยท
Algorithm/Python
์ด๋ถ„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ def binary_search(a, x): start = 0 end = len(a) - 1 while start a[mid]: start = mid + 1 else: end = mid - 1 return -1 d = [1, 4, 9, 16, 25, 36, 49, 64, 81] print(binary_search(d, 36)) print(binary_search(d, 50)) #1 ์ค‘๊ฐ„ ์œ„์น˜๋ฅผ ์ฐพ๋Š”๋‹ค. #2 ์ฐพ๋Š” ๊ฐ’๊ณผ ์ค‘๊ฐ„ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. #3 ๊ฐ™๋‹ค๋ฉด ์œ„์น˜๋ฒˆํ˜ธ๋ฅผ ๋Œ๋ ค์ฃผ๊ณ  #4 ์ฐพ๋Š” ๊ฐ’์ด ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ํฌ๋ฉด ์ค‘๊ฐ„ ์œ„์น˜์˜ ์˜ค๋ฅธ์ชฝ์„ ๋Œ€์ƒ์œผ๋กœ ๋‹ค์‹œ ํƒ์ƒ‰(1๋ฒˆ๋ถ€ํ„ฐ ๋‹ค์‹œ) #5 ์ฐพ๋Š” ๊ฐ’์ด ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ์ค‘๊ฐ„ ์œ„์น˜์˜ ์™ผ์ชฝ์„ ๋Œ€์ƒ์œผ๋กœ ๋‹ค์‹œ ํƒ์ƒ‰(1๋ฒˆ๋ถ€ํ„ฐ ๋‹ค์‹œ)
[Python] ํ€ต ์ •๋ ฌ
ยท
Algorithm/Python
ํ€ต ์ •๋ ฌ ๊ธฐ์ค€ ๊ฐ’์„ ์ •ํ•˜๊ณ  ๊ธฐ์ค€๊ฐ’์— ๋งž์ถฐ ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ๋“ค์˜ ์œ„์น˜๋ฅผ ๋งž์ถ”๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ€ต ์ •๋ ฌ ๊ณผ์ • #๊ธฐ์ค€ ๊ฐ’์„ ์ •ํ•œ๋‹ค. (ํŽธ์˜์ƒ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ๊ธฐ์ค€ ๊ฐ’์œผ๋กœ ์ •ํ•œ๋‹ค.) [2, 6, 8, 1, 5, 3, 7, 4] # ๊ธฐ์ค€ ๊ฐ’ : 4 #๊ธฐ์ค€ ๊ฐ’๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ธฐ์ค€ ๊ฐ’์˜ ์•ž์ชฝ์œผ๋กœ, ๊ธฐ์ค€ ๊ฐ’๋ณด๋‹ค ํฌ๋ฉด ๊ธฐ์ค€๊ฐ’์˜ ๋’ค๋กœ ๋ณด๋‚ธ๋‹ค. ๊ธฐ์ค€ ๊ฐ’ : 4 group1 [2, 1, 3] 4 gruop2 [6, 8, 5, 7] #์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ด์šฉํ•ด ์ •๋ ฌํ•œ๋‹ค. group1 [1, 2, 3] 4 group [5, 6, 7, 8] #๋‹ค์‹œ ํ•ฉ์นœ๋‹ค. group1 + 4 + group2 ๊ฒฐ๊ณผ : [1, 2, 3, 4, 5, 6, 7, 8] ํ€ต ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ def quick_sort(a): n = len(a) #์ข…๋ฃŒ์กฐ๊ฑด if n
[Python] ๋ฐฑ์ค€ 10984 - ๋‚ด ํ•™์ ์„ ๊ตฌํ•ด์ค˜
ยท
Algorithm
๋ฌธ์ œ ๊ฒŒ์œผ๋ฅธ ๊ทผ์šฐ๋Š” ์—ด์‹ฌํžˆ ๋†€๋‹ค๊ฐ€ ๋ฌธ๋“, ์ž์‹ ์˜ ํ•™์  ํ‰๊ท ์ด ์–ผ๋งˆ์ผ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ํ•™์‚ฌ์‹œ์Šคํ…œ๋„ ๋“ค์–ด๊ฐ€๊ธฐ ๊ท€์ฐฎ์•„ํ•˜๋Š” ๊ทผ์šฐ๋ฅผ ์œ„ํ•ด ๊ตฌํ•ด์ฃผ๋„๋ก ํ•˜์ž. ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์— ํ•™๊ธฐ์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์— ๋“ค์—ˆ๋˜ ๊ณผ๋ชฉ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง€๊ณ , ๋‹ค์Œ N๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ N๊ฐœ ๊ณผ๋ชฉ๋“ค์˜ ํ•™์  C์™€ ์„ฑ์  G๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ C ≤ 6, C๋Š” ์ •์ˆ˜) G๋Š” {0, 0.7, 1, 1.3, 1.7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 4.3} ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ ์†Œ์ˆ˜ ๋ถ€๋ถ„์€ ์ตœ๋Œ€ ํ•œ ์ž๋ฆฌ๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•ด ๊ทผ์šฐ์˜ ์ด ํ•™์ ๊ณผ ํ‰์ (GPA)์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต๊ณผ์˜ ์ ˆ๋Œ€ ์˜ค์ฐจ..