์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ

๐Ÿ“„ ๋ฌธ์ œ

N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ์ž์—ฐ์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ณ ,
๊ทธ ํ•ฉ์ด ์ตœ๋Œ€์ธ ์ž์—ฐ์ˆ˜๋ฅผ ์ถœ๋ ฅ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
๊ฐ ์ž์—ฐ์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ def digit_sum(x)๋ฅผ ๊ผญ ์ž‘์„ฑํ•ด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜์„ธ์š”.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(3<=N<=100)์ด ์ฃผ์–ด์ง€๊ณ ,
๊ทธ ๋‹ค์Œ ์ค„์— N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๊ฐ ์ž์—ฐ์ˆ˜์˜ ํฌ๊ธฐ๋Š” 10,000,000๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์ด ์ตœ๋Œ€์ธ ์ž์—ฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์ด ๊ฐ™์„ ๊ฒฝ์šฐ ์ž…๋ ฅ์ˆœ์œผ๋กœ ๋จผ์ €์ธ ์ˆซ์ž ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
3
125 15232 97

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
97

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: n๊ฐœ ์ž์—ฐ์ˆ˜
# ์ถœ๋ ฅ: ํ•ฉ์ด ์ตœ๋Œ€์ธ ์ž์—ฐ์ˆ˜

sum_x = []                                       # ํ•ฉ์„ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ sum_x ํ• ๋‹น

def digit_sum(x):                                # ํ•จ์ˆ˜ digit_sum ์ •์˜
    for i in x:                                  # x์— i ์š”์†Œ ๋ฐ˜๋ณต
        sum_x.append(sum(map(int, str(i))))      # i๋ฅผ ๋ฌธ์ž์—ด ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ๋’ค ํ•ฉ์„ ๊ตฌํ•ด sum_x์— ์ถ”๊ฐ€
    print(num_list[sum_x.index(max(sum_x))])     # ํ•ฉ์ด ์ตœ๋Œ“๊ฐ’์ด ๋˜๋Š” sum_x์˜ index๋ฅผ ๊ตฌํ•ด, num_list์—์„œ ํ•ด๋‹น index ๊ฐ’ ์ถœ๋ ฅ

n = int(input())                                 # ์ •์ˆ˜ n ํ• ๋‹น
num_list = list(map(int, input().split()))       # num_list์— ๊ฐ ์ž์—ฐ์ˆ˜ ํ• ๋‹น
digit_sum(num_list)                              # ํ•จ์ˆ˜ digit_sum ์‹คํ–‰

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด 1

# ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ

n = int(input())

a = list(map(int, input().split()))
def digit_sum(x):
    sum = 0
    while x > 0:
        sum += x%10
        x = x // 10
    return sum

max = -2147000000

for x in a:
    tot = digit_sum(x)
    if tot > max:
        max = tot
        res = x

print(res)

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด 2

# ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ

n = int(input())

a = list(map(int, input().split()))
def digit_sum(x):
    sum = 0
    for i in str(x):
        sum += int(i)
    return sum

max = -2147000000

for x in a:
    tot = digit_sum(x)
    if tot > max:
        max = tot
        res = x

print(res)

์ •๋‹ค๋ฉด์ฒด

๐Ÿ“„ ๋ฌธ์ œ

๋‘ ๊ฐœ์˜ ์ • N๋ฉด์ฒด์™€ ์ • M๋ฉด์ฒด์˜ ๋‘ ๊ฐœ์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ ธ์„œ
๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ˆˆ์˜ ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
N๊ณผ M์€ 4, 6, 8, 12, 20 ์ค‘์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ๋ฒˆ์งธ ์ค„์— ๋‹ต์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
4 6

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
5 6 7

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ์ฒซ์งธ ์ค„ - n, m (4, 6, 8, 12, 20 ์ค‘ ํ•˜๋‚˜)

# ์ถœ๋ ฅ: ๋‹ต ์ถœ๋ ฅ

n, m = map(int, input().split())        # ์ •์ˆ˜ n, m ์ž…๋ ฅํ•˜์—ฌ ํ• ๋‹น

list = []                               # ๋นˆ ๋ฆฌ์ŠคํŠธ list ํ• ๋‹น

for i in range(1, n+1):                 # 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    for j in range(1, m+1):             # 1๋ถ€ํ„ฐ m๊นŒ์ง€ ์ด์ค‘ ๋ฐ˜๋ณต
        list.append(i+j)                # i+j๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€

cnt_list = []                           # ๊ฐฏ์ˆ˜ ๋‹ด๋Š” ๋นˆ ๋ฆฌ์ŠคํŠธ cnt_list ํ• ๋‹น

for i in range(2, n+m):                 # 2๋ถ€ํ„ฐ n+m-1๊นŒ์ง€ ๋ฐ˜๋ณต
    cnt_list.append(list.count(i))      # cnt_list์— ๊ฐ i์— ํ•ด๋‹นํ•˜๋Š” list์˜ ์š”์†Œ ๊ฐฏ์ˆ˜ ์นด์šดํŠธํ•˜์—ฌ ์ถ”๊ฐ€

max_value = max(cnt_list)               # cnt_list์˜ ์ตœ๋Œ“๊ฐ’ max_value์— ํ• ๋‹น

a_list = []                             # ์ •๋‹ต์„ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ a_list ํ• ๋‹น

for i in range(len(cnt_list)):          # cnt_list์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต
    if cnt_list[i] == max_value:        # cnt_list์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ตœ๋Œ“๊ฐ’๊ณผ ์ผ์น˜ํ•œ๋‹ค๋ฉด
        a_list.append(i+2)              # i+2๋ฅผ a_list์— ์ถ”๊ฐ€ (i+2๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” cnt_list์˜ ์ธ๋ฑ์Šค 0์ด ํ•ฉ 2์˜ ๊ฐฏ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ)


print(*a_list, sep = ' ')               # a_list ์–ธํŒจํ‚นํ•˜์—ฌ, ๊ณต๋ฐฑ ํ•˜๋‚˜ ๊ฐ„๊ฒฉ์œผ๋กœ ์ถœ๋ ฅ

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

n, m = map(int, input().split())

# ๋„‰๋„‰ํ•˜๊ฒŒ ์žก์•„์„œ
# ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๊ฐ€ n+m+3 ๋งŒํผ ์ƒ๊น€
cnt = [0]*(n+m+3)

max = -2147000000

# 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ˆ๋‹ค.
# 1๋ถ€ํ„ฐ m๊นŒ์ง€ ๋ˆ๋‹ค.
for i in range(1, n+1):
    for j in range(1, m+1):
        cnt[i+j] += 1

# n + m๊นŒ์ง€ ๋ˆ๋‹ค.
for i in range(n+m+1):
    if cnt[i] > max:
        max = cnt[i]

# n + m๊นŒ์ง€ ๋ˆ๋‹ค.
# ์ตœ๋Œ€๊ฐ’๊ณผ ๊ฐ™์€ ์นผ๋Ÿผ๋“ค ์ฐพ์•„๋‚ด๊ธฐ
# i ์ถœ๋ ฅ
# end = ' '๋กœ ํ•œ ์นธ ๋„์›Œ์„œ ์˜†์— ์ถœ๋ ฅ
for i in range(n+m+1):
    if cnt[i] == max:
        print(i, end = ' ')

 

๋Œ€ํ‘œ๊ฐ’

๐Ÿ“„ ๋ฌธ์ œ

N๋ช…์˜ ํ•™์ƒ์˜ ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
N๋ช…์˜ ํ•™์ƒ๋“ค์˜ ํ‰๊ท (์†Œ์ˆ˜ ์ฒซ์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ)์„ ๊ตฌํ•˜๊ณ ,
N๋ช…์˜ ํ•™์ƒ ์ค‘ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์€ ๋ช‡ ๋ฒˆ์งธ ํ•™์ƒ์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
ํ‰๊ท ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ ๋จผ์ € ์ ์ˆ˜๊ฐ€ ๋†’์€ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‹ต์œผ๋กœ ํ•˜๊ณ ,
๋†’์€ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ํ•™์ƒ์ด ์—ฌ๋Ÿฌ ๋ช…์ผ ๊ฒฝ์šฐ ๊ทธ ์ค‘ ํ•™์ƒ๋ฒˆํ˜ธ๊ฐ€ ๋น ๋ฅธ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‹ต์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์ค„์— ์ž์—ฐ์ˆ˜ N(5<=N<=100)์ด ์ฃผ์–ด์ง€๊ณ ,
๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™์ ์ˆ˜์ธ N๊ฐœ์˜ ์ž์—ฐ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋Š” ์•ž์—์„œ๋ถ€ํ„ฐ 1๋กœ ์‹œ์ž‘ํ•ด์„œ N๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์ค„์— ํ‰๊ท ๊ณผ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
ํ‰๊ท ์€ ์†Œ์ˆ˜ ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
10
45 73 66 87 92 67 75 79 75 80

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
74 7

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ์ฒซ์งธ ์ค„ - ํ•™์ƒ ์ˆ˜ n
# ์ž…๋ ฅ: ๋‘˜์งธ ์ค„ - ๊ฐ ํ•™์ƒ ์ˆ˜ํ•™์ ์ˆ˜

# ์ถœ๋ ฅ: ํ‰๊ท  ๋ฐ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์˜ ๋ฒˆํ˜ธ ์ถœ๋ ฅ
# ์ถœ๋ ฅ: ํ‰๊ท ์€ ์†Œ์ˆ˜ ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ '73.9 -> 74'

n = int(input())                                    # ์ •์ˆ˜ n ์ž…๋ ฅํ•˜์—ฌ ํ• ๋‹น
m_score = list(map(int, input().split()))           # m_score์— ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ ์ž…๋ ฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ํ• ๋‹น

average = round((sum(m_score) / len(m_score)))      # ํ‰๊ท  ์ถœ๋ ฅ: sum()์œผ๋กœ ํ•ฉ ๊ตฌํ•˜๊ณ  m_score์˜ ๊ธธ์ด๋ฅผ len()์œผ๋กœ ๊ตฌํ•˜์—ฌ ๋‚˜๋ˆ”; round()๋กœ ๋ฐ˜์˜ฌ๋ฆผ

min = abs(m_score[0] - average)                     # ์ตœ์†Ÿ๊ฐ’ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •: ์ฒซ ๋ฒˆ์งธ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ - ํ‰๊ท  ์ ์ˆ˜
stu = 0                                             # ํ•™์ƒ ๋ฒˆํ˜ธ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •: 0

for i in range(1, len(m_score)):                    # 1๋ถ€ํ„ฐ n๋งŒํผ ๋ฐ˜๋ณต; len(m_score) ๋Œ€์‹  n์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์Œ
    if abs(m_score[i] - average) < min:             # i๋ฒˆ์งธ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ - ํ‰๊ท  ์ ์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์ด ์ตœ์†Ÿ๊ฐ’๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ
        min = abs(m_score[i] - average)             # ํ•ด๋‹น ๊ฐ’์„ ์ตœ์†Œ๊ฐ’์œผ๋กœ ํ• ๋‹น
        stu = i                                     # ํ•™์ƒ ๋ฒˆํ˜ธ๋„ i๋กœ ํ• ๋‹น

print(average, stu+1)                               # ํ‰๊ท ๊ณผ ํ•™์ƒ ๋ฒˆํ˜ธ ์ถœ๋ ฅ (stu๋Š” ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๊ธฐ ๋•Œ๋ฌธ์— +1 ํ•ด์ค˜์•ผ ํ•จ)

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

# ๋Œ€ํ‘œ๊ฐ’

n = int(input())
a = list(map(int, input().split()))
ave = round(sum(a)/n)
min = 2147000000
for idx, x in enumerate(a):
    tmp = abs(x-ave)
    if tmp < min:
        min = tmp
        score = x
        res = idx + 1
    elif tmp == min:
        if x > score:
            score = x
            res = idx + 1

print(ave, res)

K๋ฒˆ์งธ ํฐ ์ˆ˜

๐Ÿ“„ ๋ฌธ์ œ

ํ˜„์ˆ˜๋Š” 1๋ถ€ํ„ฐ 100์‚ฌ์ด์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ ํžŒ N์žฅ์˜ ์นด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ™์€ ์ˆซ์ž์˜ ์นด๋“œ๊ฐ€ ์—ฌ๋Ÿฌ์žฅ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์ˆ˜๋Š” ์ด ์ค‘ 3์žฅ์„ ๋ฝ‘์•„ ๊ฐ ์นด๋“œ์— ์ ํžŒ ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
3์žฅ์„ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋กํ•œ ๊ฐ’ ์ค‘ K๋ฒˆ์งธ๋กœ ํฐ ์ˆ˜๋ฅผ ์ถœ๋ ฅ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

๋งŒ์•ฝ ํฐ ์ˆ˜๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ์ˆ˜๊ฐ€ 25 25 23 23 22 20 19......์ด๊ณ 
K๊ฐ’์ด 3์ด๋ผ๋ฉด K๋ฒˆ์งธ ํฐ ๊ฐ’ ์€ 22์ž…๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜ N(3<=N<=100)๊ณผ K(1<=K<=50) ์ž…๋ ฅ๋˜๊ณ ,
๊ทธ ๋‹ค์Œ ์ค„์— N๊ฐœ์˜ ์นด๋“œ๊ฐ’์ด ์ž…๋ ฅ ๋œ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— K๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
K๋ฒˆ์งธ ์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
10 3
13 15 34 23 45 65 33 11 26 42

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
143

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

'''
[์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋ฌธ]

K๋ฒˆ์งธ ํฐ ์ˆ˜

ํ˜„์ˆ˜๋Š” 1๋ถ€ํ„ฐ 100์‚ฌ์ด์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ ํžŒ N์žฅ์˜ ์นด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ™์€ ์ˆซ์ž์˜ ์นด๋“œ๊ฐ€ ์—ฌ๋Ÿฌ์žฅ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์ˆ˜๋Š” ์ด ์ค‘ 3์žฅ์„ ๋ฝ‘์•„ ๊ฐ ์นด๋“œ์— ์ ํžŒ ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
3์žฅ์„ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋กํ•œ ๊ฐ’ ์ค‘ K๋ฒˆ์งธ๋กœ ํฐ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

25, 25, 23, 23, 22, 20, 19... K๊ฐ’์ด 3์ด๋ผ๋ฉด K๋ฒˆ์งธ ํฐ ๊ฐ’์€ 22
'''

# ์ž…๋ ฅ: ์ฒซ์งธ ์ค„ n, k
# ์ž…๋ ฅ: ๋‘˜์งธ ์ค„ n๊ฐœ์˜ ์นด๋“œ๊ฐ’ ์ž…๋ ฅ

# ์ถœ๋ ฅ: k๋ฒˆ์งธ ์ˆ˜ ์ถœ๋ ฅ

from itertools import combinations                              # itertools ํŒจํ‚ค์ง€์—์„œ combinations ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

n, k = map(int, input().split())                                # n, k ์ •์ˆ˜ ํ• ๋‹น
n_list = input().split()                                        # n_list์— ์ˆซ์ž ์ž…๋ ฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ํ• ๋‹น

data = combinations(n_list, 3)                                  # combinations() ํ•จ์ˆ˜ ํ†ตํ•ด, n_list์˜ ์š”์†Œ 3๊ฐœ์”ฉ ๋ฌถ์€ ์กฐํ•ฉ data์— ํ• ๋‹น
a_list = []                                                     # ์ •๋‹ต์„ ๋‹ด์„ a_list ๋นˆ ๋ฆฌ์ŠคํŠธ ํ• ๋‹น

for i in data:                                                  # data์˜ ๊ฐ ์š”์†Œ i ๋ฐ˜๋ณต
    a_list.append(sum((int(i[0]), int(i[1]), int(i[2]))))       # ๊ฐ ์š”์†Œ์˜ ํ•ฉ ๋”ํ•˜์—ฌ a_list์— ํ• ๋‹น

tmp = set(a_list)                                               # a_list๋ฅผ set ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ tmp์— ํ• ๋‹น
a_list2 = list(tmp)                                             # a_list2๋Š” ๊ธฐ์กด์˜ list๋ฅผ set์œผ๋กœ ๋ณ€ํ™˜ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ list๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒƒ
a_list2.sort(reverse=True)                                      # a_list2 ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

print(a_list2[k-1])                                             # a_list2์˜ k-1 ์ธ๋ฑ์Šค์˜ ๊ฐ’ ์ถœ๋ ฅ

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

# K๋ฒˆ์งธ ํฐ ์ˆ˜

n, k = map(int, input().split())
a = list(map(int, input().split()))

# ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
res = set()

# ์ค‘๋ณต ๋ฐฉ์ง€
# ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ
# set์€ append()๊ฐ€ ์•„๋‹Œ add()

for i in range(n):
    for j in range(i+1, n):
        for m in range(j+1, n):
            res.add(a[i]+a[j]+a[m])

# set์€ sort()๊ฐ€ ์—†์Œ
# list๋กœ ๋ฐ”๊ฟ”์„œ ์ •๋ ฌํ•ด์ค˜์•ผ ํ•จ
# sort(reverse=True) ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
res = list(res)
res.sort(reverse=True)
print(res[k-1])

 

 

K๋ฒˆ์งธ ์ˆ˜

๐Ÿ“„ ๋ฌธ์ œ

N๊ฐœ์˜ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆซ์ž์—ด์ด ์ฃผ์–ด์ง€๋ฉด

ํ•ด๋‹น ์ˆซ์ž์—ด์ค‘์—์„œ s๋ฒˆ์งธ๋ถ€ํ„ฐ e๋ฒˆ์งธ ๊นŒ์ง€์˜ ์ˆ˜๋ฅผ

์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ–ˆ์„ ๋•Œ k๋ฒˆ์งธ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”

์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

 

โ–ฃ ์ž…๋ ฅ์„ค๋ช…

์ฒซ ๋ฒˆ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค T(1<=T<=10)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๊ฐ ์ผ€์ด์Šค๋ณ„ ์ฒซ ๋ฒˆ์งธ ์ค„์€ ์ž์—ฐ์ˆ˜ N(5<=N<=500), s, e, k๊ฐ€ ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค.

๋‘ ๋ฒˆ์งธ ์ค„์— N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค.

 

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…

๊ฐ ์ผ€์ด์Šค๋ณ„ k๋ฒˆ์งธ ์ˆ˜๋ฅผ ์•„๋ž˜ ์ถœ๋ ฅ์˜ˆ์ œ์™€ ๊ฐ™์ด ์ถœ๋ ฅํ•˜์„ธ์š”.

 

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ

2

6 2 5 3

5 2 7 3 8 9

15 3 10 3

4 15 8 16 6 6 17 3 10 11 18 7 14 7 15

 

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ

#1 7

#2 6

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

'''
[์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋ฌธ]

K๋ฒˆ์งธ ์ˆ˜

N๊ฐœ์˜ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆซ์ž์—ด์ด ์ฃผ์–ด์ง€๋ฉด
ํ•ด๋‹น ์ˆซ์ž์—ด์ค‘์—์„œ s๋ฒˆ์งธ๋ถ€ํ„ฐ e๋ฒˆ์งธ๊นŒ์ง€์˜ ์ˆ˜๋ฅผ
์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ–ˆ์„ ๋•Œ K๋ฒˆ์งธ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”
์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
'''

# ์ž…๋ ฅ: ์ฒซ ์งธ์ค„ t = test case
# ์ž…๋ ฅ: ๊ฐ ์ผ€์ด์Šค๋ณ„ ์ฒซ ์งธ์ค„ ์ž์—ฐ์ˆ˜ n, s, e, k
# ์ž…๋ ฅ: ๊ฐ ์ผ€์ด์Šค๋ณ„ ๋‘˜ ์งธ์ค„ n๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง

# ์ถœ๋ ฅ: ๊ฐ ์ผ€์ด์Šค๋ณ„ k๋ฒˆ์งธ ์ˆ˜ ์ถœ๋ ฅ

# t = ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค
# n = n๊ฐœ ์ˆซ์ž
# s = ์‹œ์ž‘ ์ˆœ์„œ ๋ฒˆ์งธ
# e = ๋ ์ˆœ์„œ ๋ฒˆ์งธ
# k = ์ถœ๋ ฅ ์ˆœ์„œ ๋ฒˆ์งธ

t = int(input())

for i in range(t):
    n, s, e, k = map(int, input().split())
    n_list = input().split()
    a_list = []
    for j in range(s-1, e):
        a_list.append(int(n_list[j]))
    a_list.sort()
    print(f'#{i+1} {a_list[k-1]}')

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

# K๋ฒˆ์งธ ์ˆ˜

# ์ผ€์ด์Šค ๊ฐฏ์ˆ˜ ์ฝ๊ธฐ
T=int(input())

# ์ผ€์ด์Šค ๊ฐฏ์ˆ˜๋งŒํผ for๋ฌธ ๋Œ๋ฆฌ๊ธฐ
for t in range(T):
    n, s, e, k = map(int, input().split())
    a = list(map(int, input().split()))
    a = a[s-1:e]
    a.sort() # ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
    print("#%d %d" %(t+1, a[k-1]))

K๋ฒˆ์งธ ์•ฝ์ˆ˜

๐Ÿ“„ ๋ฌธ์ œ

์–ด๋–ค ์ž์—ฐ์ˆ˜ p์™€ q๊ฐ€ ์žˆ์„ ๋•Œ, ๋งŒ์ผ p๋ฅผ q๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด q๋Š” p์˜ ์•ฝ์ˆ˜์ด๋‹ค.

6์„ ์˜ˆ๋กœ ๋“ค๋ฉด

6 ÷ 1 = 6 … 0

6 ÷ 2 = 3 … 0

6 ÷ 3 = 2 … 0

6 ÷ 4 = 1 … 2

6 ÷ 5 = 1 … 1

6 ÷ 6 = 1 … 0

๊ทธ๋ž˜์„œ 6์˜ ์•ฝ์ˆ˜๋Š” 1, 2, 3, 6, ์ด ๋„ค ๊ฐœ์ด๋‹ค.

๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ N๊ณผ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, N์˜ ์•ฝ์ˆ˜๋“ค ์ค‘ K๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

โ–ฃ ์ž…๋ ฅ์„ค๋ช…

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.

N์€ 1 ์ด์ƒ 10,000 ์ดํ•˜์ด๋‹ค. K๋Š” 1 ์ด์ƒ N ์ดํ•˜์ด๋‹ค.

 

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…

์ฒซ์งธ ์ค„์— N์˜ ์•ฝ์ˆ˜๋“ค ์ค‘ K๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๋งŒ์ผ N์˜ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ K๊ฐœ๋ณด๋‹ค ์ ์–ด์„œ K๋ฒˆ์งธ ์•ฝ์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ

1 6 3

 

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ

1 3

 

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ
'''
[์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋ฌธ]

K๋ฒˆ์งธ ์•ฝ์ˆ˜
์–ด๋–ค ์ž์—ฐ์ˆ˜ p์™€ q๊ฐ€ ์žˆ์„ ๋•Œ,
๋งŒ์ผ p๋ฅผ q๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด q๋Š” p์˜ ์•ฝ์ˆ˜์ด๋‹ค.

6์„ ์˜ˆ๋กœ ๋“ค๋ฉด
6 ÷ 1 = 6 … 0
6 ÷ 2 = 3 … 0
6 ÷ 3 = 2 … 0
6 ÷ 4 = 1 … 2
6 ÷ 5 = 1 … 1
6 ÷ 6 = 1 … 0

๊ทธ๋ž˜์„œ 6์˜ ์•ฝ์ˆ˜๋Š” 1, 2, 3, 6, ์ด ๋„ค ๊ฐœ์ด๋‹ค.
๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ N๊ณผ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ,
N์˜ ์•ฝ์ˆ˜๋“ค ์ค‘ K๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
'''

n, k = map(int, input().split())        # n, k ๊ฐ๊ฐ ์ •์ˆ˜ ํ• ๋‹น
d_list = []                             # ์•ฝ์ˆ˜๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ ๋นˆ ๋ฆฌ์ŠคํŠธ ํ• ๋‹น

for i in range(1, n+1):                 # 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    if n % i == 0:                      # i๋กœ n์ด ๋‚˜๋ˆด์„ ๋•Œ, ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด
        d_list.append(int(n // i))      # i๋กœ n์„ ๋‚˜๋ˆˆ ๋ชซ์„ d_list์— ์ถ”๊ฐ€

d_list.sort()                           # ์•ฝ์ˆ˜ ๋ฆฌ์ŠคํŠธ d_list ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

if len(d_list) >= k:                    # d_list์˜ ์•ฝ์ˆ˜ ๊ฐฏ์ˆ˜๊ฐ€ k๋ณด๋‹ค ๋งŽ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ,
    print(d_list[k-1])                  # d_list์˜ k-1๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’ ์ถœ๋ ฅ
else:
    print(-1)                           # ๊ทธ๋ ‡์ง€ ์•Š์„ ๋•Œ๋Š” -1 ์ถœ๋ ฅ

+ Recent posts