์ˆ˜๋“ค์˜ ํ•ฉ

๐Ÿ“„ ๋ฌธ์ œ

N๊ฐœ์˜ ์ˆ˜๋กœ ๋œ ์ˆ˜์—ด A[1], A[2], …, A[N] ์ด ์žˆ๋‹ค.
์ด ์ˆ˜์—ด์˜ i๋ฒˆ์งธ ์ˆ˜๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆ˜๊นŒ์ง€์˜ ํ•ฉ A[i]+A[i+1]+…+A[j-1]+A[j]๊ฐ€ M์ด ๋˜๋Š”
๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— N(1≤N≤10,000), M(1≤M≤300,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.
๋‹ค์Œ ์ค„์—๋Š” A[1], A[2], …, A[N]์ด ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์ฃผ์–ด์ง„๋‹ค.
๊ฐ๊ฐ์˜ A[x]๋Š” 30,000์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
8 3 1 2 1 3 1 1 1 2

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด (์‹œ๊ฐ„ ์ดˆ๊ณผ)

# ์ž…๋ ฅ: ์ฒซ์งธ ์ค„ - N, M, ๋‘˜์งธ ์ค„ - ์ˆ˜์—ด ๋‚˜์—ด
# ์ถœ๋ ฅ: ํ•ฉ์ด M์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ถœ๋ ฅ

n, m = map(int, input().split())        
list_n = list(map(int, input().split()))
a = 0

for i in range(n):
    for j in range(i+1, n+1):
        if sum(list_n[i:j]) == m:
            a += 1

print(a)

 

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

# ์—ฐ์†์ ์ธ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์ด m๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ถœ๋ ฅ
# ํฌ์ธํ„ฐ ๊ฐ๊ฐ ํ• ๋‹น lt, rt

n, m = map(int, input().split())
a = list(map(int, input().split()))
lt = 0                              # ํฌ์ธํ„ฐ lt ํ• ๋‹น
rt = 1                              # ํฌ์ธํ„ฐ rt ํ• ๋‹น
tot = a[0]                          # tot ์ดˆ๊ธฐ๊ฐ’: a[0]
cnt = 0                             # ๊ฐœ์ˆ˜ ์„ธ๊ธฐ ์œ„ํ•œ cnt ํ• ๋‹น

while True:                         # break ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ฐ˜๋ณต
    if tot < m:                     # ํ•ฉ์ด m๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ
        if rt < n:                  # rt๊ฐ€ n๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ
            tot += a[rt]            # tot์— a[rt] ๊ฐ’ ๋”ํ•ด์คŒ
            rt += 1                 # rt ํฌ์ธํ„ฐ 1๋งŒํผ ์ฆ๊ฐ€
        else:                       # rt๊ฐ€ n๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด
            break                   # ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ

    elif tot == m:                  # ๋งŒ์•ฝ ํ•ฉ์ด m๊ณผ ๊ฐ™์œผ๋ฉด
        cnt += 1                    # cnt 1 ์ฆ๊ฐ€
        tot -= a[lt]                # tot์—์„œ a[lt] ๊ฐ’ ๋นผ์คŒ
        lt += 1                     # lt 1 ์ฆ๊ฐ€

    else:                           # ๋งŒ์•ฝ ํ•ฉ์ด m๋ณด๋‹ค ํฌ๋ฉด
        tot -= a[lt]                # cnt ์ฆ๊ฐ€ ์—†์ด a[lt] ๊ฐ’ ๋นผ์คŒ
        lt += 1                     # lt 1 ์ฆ๊ฐ€

print(cnt)                          # cnt ์ถœ๋ ฅ

๋‘ ๋ฆฌ์ŠคํŠธ ํ•ฉ์น˜๊ธฐ

๐Ÿ“„ ๋ฌธ์ œ

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์ด ๋œ ๋‘ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด
๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ํ•ฉ์ณ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ๋ฒˆ์งธ ์ค„์— ์ฒซ ๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ N(1<=N<=100)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ ์ค„์— N๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์›์†Œ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
์„ธ ๋ฒˆ์งธ ์ค„์— ๋‘ ๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ M(1<=M<=100)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๋„ค ๋ฒˆ์งธ ์ค„์— M๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์›์†Œ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๊ฐ ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๋Š” intํ˜• ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
3
1 3 5
5
2 3 6 7 9

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
1 2 3 3 5 6 7 9

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: N, N๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์›์†Œ, M, M๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์›์†Œ
# ์ถœ๋ ฅ: ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ

n = int(input())                            # ์ •์ˆ˜ n ํ• ๋‹น
list_n = list(map(int, input().split()))    # ๋ฆฌ์ŠคํŠธ list_n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
m = int(input())                            # ์ •์ˆ˜ m ํ• ๋‹น
list_m = list(map(int, input().split()))    # ๋ฆฌ์ŠคํŠธ list_m ์ž…๋ ฅ ๋ฐ ํ• ๋‹น

sum = [*list_n, *list_m]                    # ๋‘ ๋ฆฌ์ŠคํŠธ ์–ธํŒจํ‚นํ•˜์—ฌ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฌถ์–ด์คŒ
sum = sorted(sum)                           # sorted()๋ฅผ ํ†ตํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
print(*sum, sep = ' ')                      # ์–ธํŒจํ‚นํ•˜์—ฌ ๊ณต๋ฐฑ ํ•˜๋‚˜ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’๋“ค ์ถœ๋ ฅ

 

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

# sort() ํ•จ์ˆ˜๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ nlogn
# ์ด๋ฅผ n์œผ๋กœ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•

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

p1 = p2 = 0
c = []
while p1 < n and p2 < m:
    if a[p1] <= b[p2]:
        c.append(a[p1])
        p1 += 1
    else:
        c.append(b[p2])
        p2 += 1

if p1 < n:
    c = c + a[p1:]
if p2 < m:
    c = c + b[p2:]

for x in c:
    print(x, end = ' ')

๋ฌธ์ œ ์ œ๋ชฉ

๐Ÿ“„ ๋ฌธ์ œ

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ด 10๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ 10๊ฐœ์˜ ๊ตฌ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค.
i๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ๊ตฌ๊ฐ„์˜ ์‹œ ์ž‘ ์œ„์น˜ ai์™€ ๋ ์œ„์น˜ bi๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค.
์ด๋•Œ ๋‘ ๊ฐ’์˜ ๋ฒ”์œ„๋Š” 1 ≤ ai ≤ bi ≤ 20์ด๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
1๋ถ€ํ„ฐ 20๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋†“์ธ ์นด๋“œ๋“ค์— ๋Œ€ํ•ด,
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ 10๊ฐœ์˜ ๊ตฌ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ๋’ค์ง‘๋Š” ์ž‘์—…์„ ํ–ˆ์„ ๋•Œ ๋งˆ์ง€๋ง‰ ์นด๋“œ๋“ค์˜ ๋ฐฐ์น˜๋ฅผ ํ•œ ์ค„์— ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5 10
9 13
1 2
3 4
5 6
1 2
3 4
5 6
1 20
1 20

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
1 2 3 4 10 9 8 7 13 12 11 5 6 14 15 16 17 18 19 20

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: 10๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ, ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ 10๊ฐœ์˜ ๊ตฌ๊ฐ„ ai, bi
# ์ถœ๋ ฅ: ๋งˆ์ง€๋ง‰ ์นด๋“œ๋“ค์˜ ๋ฐฐ์น˜๋ฅผ ํ•œ ์ค„์— ์ถœ๋ ฅ

# ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋ถ€ํ„ฐ 10๊นŒ์ง€ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค๋ ค๋ฉด
# card[10-1:5-2:-1]
# ์ฒซ ๋ฒˆ์งธ๋Š” ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์˜ -1 ์ฐจ๋งŒ ๋นผ๋ฉด ๋จ
# ๋‘ ๋ฒˆ์งธ๋Š” ํฌํ•จํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์˜ -1 ์ฐจ์™€ -1์„ ์ถ”๊ฐ€๋กœ ๋นผ์ค˜์•ผ ํ•จ

# ๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€๋กœ ๊ทธ ์•ž ๋’ค์— ์žˆ๋Š” ์ธ๋ฑ์Šค๋Š” ๊ทธ๋Œ€๋กœ ๊ฐ€์ง€๊ณ  ๊ฐ€๋ฉด ๋  ๊ฒƒ ๊ฐ™์Œ
# ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ ์„ธ ๊ฐœ๋ฅผ ํ•ฉ์ณ์ฃผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Œ


card = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20'.split()

i = 0

while i < 10:
    i += 1
    a, b = map(int, input().split())
    if a >= 2: # a๊ฐ€ 2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ,
        tmp = [card[:a-1], card[b-1:a-2:-1], card[b:]] # ์ž„์‹œ ๋ฆฌ์ŠคํŠธ์— ๋ฐ”๋€ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ
        card = sum(tmp, []) # ์ดˆ๊ธฐ๊ฐ’์„ []๋กœ ์ค˜์„œ, ๋ฆฌ์ŠคํŠธ๋ผ๋ฆฌ ๋”ํ•˜๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ
    else: # a๊ฐ€ 1์ผ ๋•Œ,
        tmp = [card[b-1::-1], card[b:]]
        card = sum(tmp, [])
else:
    print(*card, sep = ' ') # ๋ฆฌ์ŠคํŠธ ์••์ถ• ํ’€๊ณ , ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅ

 

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

a = list(range(21)) # ์ž๋™์œผ๋กœ 0๋ถ€ํ„ฐ 20๊นŒ์ง€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ƒ๊น€
for _ in range(10): # i ๋Œ€์‹  _๋ฅผ ์ ๊ฒŒ ๋˜๋ฉด ๋ณ€์ˆ˜ ์—†์ด ๋ฒ”์œ„๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋จ
    s, e = map(int, input().split())
    for i in range((e-s+1)//2):
        a[s+i], a[e-i] = a[e-i], a[s+i]

a.pop(0)

for x in a:
    print(x, end = ' ')

์ˆซ์ž๋งŒ ์ถ”์ถœ

๐Ÿ“„ ๋ฌธ์ œ

๋ฌธ์ž์™€ ์ˆซ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ค‘ ์ˆซ์ž๋งŒ ์ถ”์ถœํ•˜์—ฌ ๊ทธ ์ˆœ์„œ๋Œ€๋กœ ์ž์—ฐ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
๋งŒ๋“ค์–ด์ง„ ์ž์—ฐ์ˆ˜์™€ ๊ทธ ์ž์—ฐ์ˆ˜์˜ ์•ฝ์ˆ˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
๋งŒ์•ฝ “t0e0a1c2h0er”์—์„œ ์ˆซ์ž๋งŒ ์ถ”์ถœํ•˜๋ฉด 0, 0, 1, 2, 0์ด๊ณ  ์ด๊ฒƒ์„ ์ž์—ฐ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด 120์ด ๋ฉ๋‹ˆ๋‹ค.
์ฆ‰ ์ฒซ ์ž๋ฆฌ 0์€ ์ž์—ฐ์ˆ˜ํ™” ํ•  ๋•Œ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ์€ 120๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋‹ค์Œ ์ค„์— 120 ์˜ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์ถ”์ถœํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง€๋Š” ์ž์—ฐ์ˆ˜๋Š” 100,000,000์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ˆซ์ž๊ฐ€ ์ฉ์ธ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ค„์— ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

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

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ๋ฌธ์ž์—ด ์ฃผ์–ด์ง
# ์ถœ๋ ฅ: ์ฒซ์งธ ์ค„ - ์ž์—ฐ์ˆ˜ ์ถœ๋ ฅ; ๋‘˜์งธ ์ค„ - ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ

from math import sqrt

numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

w = input()                # ๋ฌธ์ž์—ด w ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
w = list(w)                # ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
a = []                     # ์ˆซ์ž๋งŒ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ a ํ• ๋‹น

for i in w:                # ๋ฆฌ์ŠคํŠธ w์˜ ๊ฐ ์š”์†Œ ๋ฐ˜๋ณต
    if i in numbers:       # i๊ฐ€ numbers ์•ˆ์˜ ์š”์†Œ์— ํ•ด๋‹นํ•œ๋‹ค๋ฉด
        a.append(i)        # ์ด๋ฅผ a์— ์ถ”๊ฐ€

a = int(''.join(a))        # join()์„ ํ†ตํ•ด ๊ฐ ์š”์†Œ๋ฅผ ๋ฌถ์–ด ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜

cnt = 0                    # ๊ฐœ์ˆ˜ ์„ธ๊ธฐ ์œ„ํ•œ cnt ํ• ๋‹น

for i in range(1, a + 1):  # a๋งŒํผ ๋ฐ˜๋ณต
    if a % i == 0:         # a๊ฐ€ i๋กœ ๋‚˜๋ˆ ์ง„๋‹ค๋ฉด = ์•ฝ์ˆ˜
        cnt += 1           # cnt 1 ์ถ”๊ฐ€

print(a)                   # a ์ถœ๋ ฅ
print(cnt)                 # ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜ cnt ์ถœ๋ ฅ

 

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

s = input()
res = 0
for x in s:
    if x.isdecimal():
        res = res * 10 + int(x)
print(res)
cnt = 0
for i in range(1, res + 1):
    if res % i == 0:
        cnt += 1
print(cnt)

ํšŒ๋ฌธ ๋ฌธ์ž์—ด ๊ฒ€์‚ฌ

๐Ÿ“„ ๋ฌธ์ œ

N๊ฐœ์˜ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์•ž์—์„œ ์ฝ์„ ๋•Œ๋‚˜ ๋’ค์—์„œ ์ฝ์„ ๋•Œ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ(ํšŒ๋ฌธ ๋ฌธ์ž์—ด) ์ด๋ฉด
YES๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ํšŒ๋ฌธ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ฉด NO๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•œ๋‹ค.
๋‹จ ํšŒ๋ฌธ์„ ๊ฒ€์‚ฌํ•  ๋•Œ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
๊ฐ ์ค„์— ํ•ด๋‹น ๋ฌธ์ž์—ด์˜ ๊ฒฐ๊ณผ๋ฅผ YES ๋˜๋Š” NO๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5
level
moon
abcba
soon
gooG

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
#1 YES
#2 NO
#3 YES
#4 NO
#5 YES

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ : ์ฒซ์งธ ์ค„ - ๋‹จ์–ด ๊ฐฏ์ˆ˜ n
# ์ž…๋ ฅ : ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ n๊ฐœ์˜ ๋‹จ์–ด
# ์ถœ๋ ฅ : ํšŒ๋ฌธ๋ฌธ์ž์—ด์ด๋ฉด YES, ์•„๋‹ˆ๋ฉด NO

n = int(input())                            # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น

for j in range(n):                          # n๋งŒํผ ๋ฐ˜๋ณต
    w = input().lower()                     # ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’ lower()๋กœ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟˆ
    w = list(w)                             # ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
    cnt = 0                                 # ๊ฐœ์ˆ˜ ์„ธ๊ธฐ ์œ„ํ•œ cnt ํ• ๋‹น

    if len(w) % 2 == 0:                     # ๋งŒ์•ฝ ์ž…๋ ฅํ•œ ๋ฌธ์ž ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ฉด
        for i in range(int(len(w)/2)):      # w ๊ธธ์ด์˜ ์ ˆ๋ฐ˜๋งŒํผ ๋ฐ˜๋ณต
            if w[i] == w[len(w)-1-i]:       # ๋งŒ์•ฝ ์•ž ๊ธ€์ž์™€ ๋ ๊ธ€์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด
                cnt += 1                    # ๊ฐฏ์ˆ˜ 1๊ฐœ ์ถ”๊ฐ€
    else:                                   # ๋งŒ์•ฝ ์ž…๋ ฅํ•œ ๋ฌธ์ž ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜๋ฉด
        for i in range(int(len(w)/2-0.5)):  # w ๊ธธ์ด - 0.5๋งŒํผ ๋ฐ˜๋ณต
            if w[i] == w[len(w)-1-i]:       # ๋งŒ์•ฝ ์•ž ๊ธ€์ž์™€ ๋ ๊ธ€์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด
                cnt += 1                    # ๊ฐฏ์ˆ˜ 1๊ฐœ ์ถ”๊ฐ€

    if len(w) % 2 == 0:                     # ๋งŒ์•ฝ ์ง์ˆ˜๋ฉด
        if cnt == len(w) / 2:               # cnt๊ฐ€ ๋ฌธ์ž ๊ธธ์ด ์ ˆ๋ฐ˜๊ณผ ๊ฐ™๋‹ค๋ฉด
            print(f'#{j+1} YES')            # YES ์ถœ๋ ฅ
        else:                               # ์•„๋‹ˆ๋ฉด
            print(f'#{j+1} NO')             # NO ์ถœ๋ ฅ
    else:                                   # ๋งŒ์•ฝ ํ™€์ˆ˜๋ฉด
        if cnt == len(w) / 2 - 0.5:         # cnt๊ฐ€ ๋ฌธ์ž ๊ธธ์ด ์ ˆ๋ฐ˜ - 0.5์™€ ๊ฐ™๋‹ค๋ฉด
            print(f'#{j+1} YES')            # YES ์ถœ๋ ฅ
        else:                               # ์•„๋‹ˆ๋ฉด
            print(f'#{j+1} NO')             # NO ์ถœ๋ ฅ

 

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

# ํšŒ๋ฌธ๋ฌธ์ž์—ด

# s[j] == s[-1-j] ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ

n = int(input())
for i in range(n):
    s = input()
    s = s.upper() # ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์žํ™”
    size = len(s) # s์˜ ๊ธธ์ด
    for j in range(size//2):
        if s[j] != s [-1-j]:
            print('#%d NO' % (i+1))
            break
    else:
        print('#%d YES' % (i+1))

 

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

# ํšŒ๋ฌธ๋ฌธ์ž์—ด ์งง์€ ํ’€์ด

n = int(input())
for i in range(n):
    s = input()
    s = s.upper()
    if s == s[::-1]:
        print('#%d YES' % (i + 1))
    else:
        print('#%d NO' % (i + 1))

์ ์ˆ˜๊ณ„์‚ฐ

๐Ÿ“„ ๋ฌธ์ œ

OX ๋ฌธ์ œ๋Š” ๋งž๊ฑฐ๋‚˜ ํ‹€๋ฆฐ ๋‘ ๊ฒฝ์šฐ์˜ ๋‹ต์„ ๊ฐ€์ง€๋Š” ๋ฌธ์ œ๋ฅผ ๋งํ•œ๋‹ค.
์—ฌ๋Ÿฌ ๊ฐœ์˜ OX ๋ฌธ์ œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹œํ—˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‹ต์„ ๋งžํžˆ๋Š” ๊ฒฝ์šฐ์—๋Š”
๊ฐ€์‚ฐ์ ์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์ˆ˜ ๊ณ„์‚ฐ์„ ํ•˜๊ธฐ ๋กœ ํ•˜์˜€๋‹ค.
1๋ฒˆ ๋ฌธ์ œ๊ฐ€ ๋งž๋Š” ๊ฒฝ์šฐ์—๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
์•ž์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ต์„ ํ‹€๋ฆฌ๋‹ค๊ฐ€ ๋‹ต์ด ๋งž๋Š” ์ฒ˜์Œ ๋ฌธ์ œ๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
๋˜ํ•œ, ์—ฐ์†์œผ๋กœ ๋ฌธ์ œ์˜ ๋‹ต์ด ๋งž๋Š” ๊ฒฝ์šฐ์—์„œ,
๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 2์ , ์„ธ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 3์ , ..., K๋ฒˆ์งธ ๋ฌธ์ œ๋Š” K์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
ํ‹€๋ฆฐ ๋ฌธ์ œ๋Š” 0์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด 10 ๊ฐœ์˜ OX ๋ฌธ์ œ์—์„œ ๋‹ต์ด ๋งž์€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ์—๋Š” 1๋กœ ํ‘œ์‹œํ•˜๊ณ ,
ํ‹€๋ฆฐ ๊ฒฝ์šฐ์—๋Š” 0์œผ๋กœ ํ‘œ์‹œํ•˜์˜€์„ ๋•Œ, ์ ์ˆ˜ ๊ณ„์‚ฐ์€ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ๊ณ„์‚ฐ๋˜์–ด, ์ด ์ ์ˆ˜๋Š” 1+1+2+3+1+2=10 ์ ์ด๋‹ค.

์ฃผ์–ด์ง„ ๊ฐ’: 1 0 1 1 1 0 0 1 1 0

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

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค.
๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ ๋ฌธ์ œ์˜ ์ฑ„์  ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 0 ํ˜น์€ 1์ด ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.
0์€ ๋ฌธ์ œ์˜ ๋‹ต์ด ํ‹€๋ฆฐ ๊ฒฝ์šฐ์ด๊ณ , 1์€ ๋ฌธ์ œ์˜ ๋‹ต์ด ๋งž๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์—์„œ ์ฃผ์–ด์ง„ ์ฑ„์  ๊ฒฐ๊ณผ์— ๋Œ€ํ•˜์—ฌ ๊ฐ€์‚ฐ์ ์„ ๊ณ ๋ คํ•œ ์ด ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
10 1 0 1 1 1 0 0 1 1 0

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ : ์ฒซ์งธ ์ค„ - ๋ฌธ์ œ ๊ฐฏ์ˆ˜, n
# ์ž…๋ ฅ : ๋‘˜์งธ ์ค„ - ๋ฌธ์ œ ๊ฐฏ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ์ฑ„์  ๊ฒฐ๊ณผ 0 / 1
# ์ถœ๋ ฅ : ๊ฐ€์‚ฐ์  ๊ณ ๋ คํ•œ ์ด ์ ์ˆ˜ ์ถœ๋ ฅ

n = int(input())                        # ์ •์ˆ˜ n ํ• ๋‹น
t = list(map(int, input().split()))     # t์— ๊ฐ ์ฑ„์  ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ๋กœ ํ• ๋‹น
a = 0                                   # ๋ˆ„์ ๋  ๋•Œ ๊ฐ€์‚ฐ์ ์„ ๋‹ด์„ ์ •์ˆ˜ a ํ• ๋‹น; ์ดˆ๊ธฐ๊ฐ’: 0
d = 0                                   # ์ด ์ ์ˆ˜๋ฅผ ๋‹ด์„ ์ •์ˆ˜ d ํ• ๋‹น; ์ดˆ๊ธฐ๊ฐ’: 0

for i in t:                             # t ์š”์†Œ ๋ฐ˜๋ณต
    if i == 1:                          # i๊ฐ€ 1์ด๋ฉด
        d += (1 + a)                    # d์— 1 + a๋งŒํผ ์ถ”๊ฐ€ (์ฒ˜์Œ์—๋Š” a๊ฐ€ 0์ด๋‹ˆ 1๋งŒํผ ์ถ”๊ฐ€๋จ)
        a += 1                          # a์— 1 ์ถ”๊ฐ€
    else:                               # i๊ฐ€ 1์ด ์•„๋‹ˆ๋ฉด
        a = 0                           # a๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™”

print(d)                                # d ์ถœ๋ ฅ

 

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

# ์ ์ˆ˜ ๊ณ„์‚ฐ

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

sum = 0
cnt = 0
for x in a: # a์— ์žˆ๋Š” ๊ฐ’๋“ค ๋งˆ๋‹ค
    if x == 1: # ๋งŒ์•ฝ x๊ฐ€ 1์ด๋ผ๋ฉด
        cnt += 1 # ๊ฐ€์‚ฐ์  1์  ์ถ”๊ฐ€
        sum += cnt # ๊ฐ€์‚ฐ์ ์ด ๊ณง ์ ์ˆ˜์— ์ถ”๊ฐ€
    else: # ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด
        cnt = 0 # ๊ฐ€์‚ฐ์ ์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”

print(sum)

์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

๐Ÿ“„ ๋ฌธ์ œ

1์—์„œ๋ถ€ํ„ฐ 6๊นŒ์ง€์˜ ๋ˆˆ์„ ๊ฐ€์ง„ 3๊ฐœ์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ ธ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ƒ๊ธˆ์„ ๋ฐ›๋Š” ๊ฒŒ์ž„์ด ์žˆ๋‹ค.

๊ทœ์น™(1) ๊ฐ™์€ ๋ˆˆ์ด 3๊ฐœ๊ฐ€ ๋‚˜์˜ค๋ฉด 10,000์›+(๊ฐ™์€ ๋ˆˆ)*1,000์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
๊ทœ์น™(2) ๊ฐ™์€ ๋ˆˆ์ด 2๊ฐœ๋งŒ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋Š” 1,000์›+(๊ฐ™์€ ๋ˆˆ)*100์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
๊ทœ์น™(3) ๋ชจ๋‘ ๋‹ค๋ฅธ ๋ˆˆ์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋Š” (๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ˆˆ)*100์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 3๊ฐœ์˜ ๋ˆˆ 3, 3, 6์ด ์ฃผ์–ด์ง€๋ฉด ์ƒ๊ธˆ์€ 1,000+3*100์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 1,300์›์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
๋˜ 3๊ฐœ์˜ ๋ˆˆ์ด 2, 2, 2๋กœ ์ฃผ์–ด์ง€๋ฉด 10,000+2*1,000 ์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 12,000์›์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
3๊ฐœ์˜ ๋ˆˆ์ด 6, 2, 5๋กœ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด 6์ด๋ฏ€๋กœ 6*100์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 600์›์„ ์ƒ๊ธˆ ์œผ๋กœ ๋ฐ›๊ฒŒ ๋œ๋‹ค.

N ๋ช…์ด ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„์— ์ฐธ์—ฌํ•˜์˜€์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ์ƒ๊ธˆ์„ ๋ฐ›์€ ์‚ฌ๋žŒ์˜ ์ƒ๊ธˆ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

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

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— ๊ฐ€์žฅ ๋งŽ์€ ์ƒ๊ธˆ์„ ๋ฐ›์€ ์‚ฌ๋žŒ์˜ ์ƒ๊ธˆ์„ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
3
3 3 6
2 2 2
6 2 5

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ : ์ฒซ์งธ ์ค„ - ์ฐธ์—ฌํ•˜๋Š” ์‚ฌ๋žŒ ์ˆ˜ n = test case ๊ฐฏ์ˆ˜
# ์ž…๋ ฅ : ๋‹ค์Œ ์ค„ - n๊ฐœ์˜ ์ค„์— ์‚ฌ๋žŒ๋“ค์ด ๋˜์ง„ ์ฃผ์‚ฌ์œ„ 3๊ฐœ์˜ ๋ˆˆ
# ์ถœ๋ ฅ : ๊ฐ€์žฅ ๋งŽ์€ ์ƒ๊ธˆ์„ ๋ฐ›์€ ์‚ฌ๋žŒ์˜ ์ƒ๊ธˆ์„ ์ถœ๋ ฅ

n = int(input())                            # ์ •์ˆ˜ n ํ• ๋‹น
m = []                                      # ๋นˆ ๋ฆฌ์ŠคํŠธ m ํ• ๋‹น

for i in range(n):                          # n๋งŒํผ ๋ฐ˜๋ณต
    d = list(map(int, input().split()))     # d์— ๊ฐ ๋ˆˆ ์ž…๋ ฅํ•˜์—ฌ ํ• ๋‹น
    if d.count(d[0]) == 3:                  # d[0]์˜ ๊ฐฏ์ˆ˜๊ฐ€ 3์ด๋ฉด = ๋ชจ๋“  ๋ˆˆ์ด ๊ฐ™์œผ๋ฉด
        m.append(int(10000 + d[0] * 1000))  # ๊ทœ์น™ 1๋กœ ๊ณ„์‚ฐํ•œ ์ƒ๊ธˆ m์— ์ถ”๊ฐ€
    elif d.count(d[0]) == 2:                # d[0]์˜ ๊ฐฏ์ˆ˜๊ฐ€ 2์ด๋ฉด = ์ฒซ๋ฒˆ์งธ ๋ˆˆ๊ณผ ๋‘๋ฒˆ์งธ ํ˜น์€ ์„ธ๋ฒˆ์งธ ๋ˆˆ์ด ๊ฐ™์œผ๋ฉด
        m.append(int(1000 + d[0] * 100))    # ๊ทœ์น™ 2๋กœ ๊ณ„์‚ฐํ•œ ์ƒ๊ธˆ m์— ์ถ”๊ฐ€
    elif d.count(d[1]) == 2:                # d[1]์˜ ๊ฐฏ์ˆ˜๊ฐ€ 2์ด๋ฉด = ๋‘๋ฒˆ์งธ ๋ˆˆ๊ณผ ์„ธ๋ฒˆ์งธ ๋ˆˆ์ด ๊ฐ™์œผ๋ฉด
        m.append(int(1000 + d[1] * 100))    # ๊ทœ์น™ 2๋กœ ๊ณ„์‚ฐํ•œ ์ƒ๊ธˆ m์— ์ถ”๊ฐ€
    else:                                   # ์„ธ ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ์ด ๋ชจ๋‘ ๋‹ค๋ฅด๋ฉด
        m.append(int(max(d) * 100))         # ๊ทœ์น™ 3์œผ๋กœ ๊ณ„์‚ฐํ•œ ์ƒ๊ธˆ m์— ์ถ”๊ฐ€


print(max(m))                               # m์— ์ถ”๊ฐ€๋œ ์ƒ๊ธˆ์˜ ์ตœ๋Œ“๊ฐ’ ์ถœ๋ ฅ

 

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

# ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

n = int(input())
res = 0
for i in range(n):
    tmp = input().split() # ๋„์›Œ์“ฐ๊ธฐ ๊ธฐ์ค€์— ๋งž์ถฐ์„œ ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ์ถ”๊ฐ€
    tmp.sort() # ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
    a, b, c = map(int, tmp) # ํ•ด๋‹น ๊ฐ’๋“ค ์ •์ˆ˜๋กœ ๋ณ€ํ™˜
    if a == b and b == c: # a, b, c ๋ชจ๋‘ ๊ฐ™์„ ๋•Œ,
        money = 10000 + a * 1000
    elif a == b or a== c: # a์™€ b ํ˜น์€ a์™€ c๊ฐ€ ๊ฐ™์„ ๋•Œ,
        money = 1000 + (a * 100)
    elif b == c: # b์™€ c๊ฐ€ ๊ฐ™์„ ๋•Œ,
        money = 1000 + (b * 100)
    else: # ์ด ๋ฐ–์—, ์„œ๋กœ ๋ชจ๋‘ ๋‹ค๋ฅผ ๋•Œ
        money = c * 100 # ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์„œ, ๊ฐ€์žฅ ๋†’์€ ๊ฐ’์€ c์ž„
    if money > res: # ํ•ด๋‹น ๊ฐ’์ด ๋‹ค๋ฅธ ๊ฐ’๋“ค๋ณด๋‹ค ํด ๋•Œ, res์— ํ• ๋‹นํ•ด์„œ ์ฐพ์Œ
        res = money
print(res)

๋ฌธ์ œ ์ œ๋ชฉ

๐Ÿ“„ ๋ฌธ์ œ

N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ์ž์—ฐ์ˆ˜๋ฅผ ๋’ค์ง‘์€ ํ›„
๊ทธ ๋’ค์ง‘์€ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์ด๋ฉด ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
์˜ˆ๋ฅผ ๋“ค์–ด 32๋ฅผ ๋’ค์ง‘์œผ๋ฉด 23์ด๊ณ , 23์€ ์†Œ์ˆ˜์ด๋‹ค.
๊ทธ๋Ÿฌ๋ฉด 23์„ ์ถœ๋ ฅ ํ•œ๋‹ค.
๋‹จ 910๋ฅผ ๋’ค์ง‘์œผ๋ฉด 19๋กœ ์ˆซ์žํ™” ํ•ด์•ผ ํ•œ๋‹ค.
์ฒซ ์ž๋ฆฌ๋ถ€ํ„ฐ์˜ ์—ฐ์†๋œ 0์€ ๋ฌด์‹œํ•œ๋‹ค.
๋’ค์ง‘๋Š” ํ•จ์ˆ˜์ธ def reverse(x) ์™€ ์†Œ์ˆ˜์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜ def isPrime(x)๋ฅผ ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ๋‹ค.

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

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ๋’ค์ง‘์€ ์†Œ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ์ˆœ์„œ๋Š” ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5
32 55 62 3700 250

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ : ์ฒซ ์งธ ์ค„ ์ž์—ฐ์ˆ˜ ๊ฐœ์ˆ˜ n, ๊ทธ ๋‹ค์Œ ์ค„ n๊ฐœ์˜ ์ž์—ฐ์ˆ˜
# ์ถœ๋ ฅ : ๋’ค์ง‘์€ ์†Œ์ˆ˜ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ

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


def reverse(x):                                     # reverse() ํ•จ์ˆ˜ ์ •์˜
    rev_num = 0                                     # ๋ณ€์ˆ˜ rev_num ํ• ๋‹น
    rev_list = []                                   # ๋นˆ ๋ฆฌ์ŠคํŠธ rev_list ํ• ๋‹น
    for i in range(len(x), 0, -1):                  # x์˜ ๊ธธ์ด๋ถ€ํ„ฐ, 1๊นŒ์ง€ ์—ญ์ˆœ์œผ๋กœ ๋ฐ˜๋ณต
        rev_list.append(x[i-1])                     # rev_list์— x์˜ i ์ธ๋ฑ์Šค ๊ฐ’ ์ถ”๊ฐ€
    rev_num = int("".join(rev_list))                # ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ ํ•ฉ์ณ์„œ ์ •์ˆ˜ํ™”ํ•˜์—ฌ rev_num์— ํ• ๋‹น
    return rev_num                                  # rev_num ๋ฐ˜ํ™˜

def isPrime(x):                                     # isPrime() ํ•จ์ˆ˜ ์ •์˜
    cnt = 0                                         # ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” cnt ํ• ๋‹น
    for i in range(2, int(sqrt(x))+2):              # 2๋ถ€ํ„ฐ sqrt(x) + 1๊นŒ์ง€ ๋ฐ˜๋ณต
        if x == 1:                                  # ๋งŒ์•ฝ x๊ฐ€ 1์ด๋ฉด,
            cnt += 1                                # cnt์— 1์„ ๋”ํ•ด์คŒ
        if x % i == 0 and x != i:                   # ๋งŒ์•ฝ x๊ฐ€ i์™€ ๋‹ค๋ฅด๋ฉด์„œ, x๋ฅผ i๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๊ฒฝ์šฐ,
            cnt += 1                                # cnt์— 1์„ ๋”ํ•ด์คŒ
            break                                   # break
    if cnt == 0:                                    # ์†Œ์ˆ˜๋ผ๋ฉด
        a_list.append(x)                            # a_list์— x๋ฅผ ์ถ”๊ฐ€



n = int(input())                                    # ์ž…๋ ฅํ•  ์ž์—ฐ์ˆ˜ ๊ฐœ์ˆ˜ n๊ฐœ
num_list = list(map(list, input().split()))         # ๊ฐ ์ž…๋ ฅ๋œ ์ž์—ฐ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋ฆฌ์ŠคํŠธ๋กœ ์ €์žฅ
a_list = []                                         # ์ •๋‹ต์„ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ a_list ํ• ๋‹น

for i in num_list:                                  # num_list์˜ ์š”์†Œ ๋ฐ˜๋ณต
    isPrime(reverse(i))                             # i๋งˆ๋‹ค reverse() ํ•จ์ˆ˜ ์„  ์‹คํ–‰ํ›„, isPrime() ํ•จ์ˆ˜ ์‹คํ–‰

print(*a_list, end = " ")                           # a_list ์–ธํŒจํ‚นํ•˜์—ฌ, ๊ณต๋ฐฑ ํ•˜๋‚˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ถœ๋ ฅ

 

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

# ๋’ค์ง‘์€ ์†Œ์ˆ˜

def reverse(x):
    res = 0 # ๋’ค์ง‘์€ ์ˆซ์ž ์ดˆ๊ธฐ ๊ฐ’

    # x๊ฐ€ 0๋ณด๋‹ค ํด ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณต,
    # x๊ฐ€ 0์ด ๋˜๊ฑฐ๋‚˜ ์Œ์ˆ˜๊ฐ€ ๋˜๋ฉด ๋ฐ˜๋ณต ๋ฉˆ์ถค
    while x > 0:
        t = x % 10 # x๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ - 1์˜ ์ž๋ฆฌ ์ˆซ์ž
        res = res * 10 + t # t๋ฅผ ๋”ํ•ด์ฃผ๊ณ , ๊ธฐ์กด์˜ res ๊ฐ’์€ * 10
        x = x // 10 # x๋Š” 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ - 1์˜ ์ž๋ฆฌ ์ˆซ์ž ๋นผ๊ณ  ๋‚˜๋จธ์ง€
    return res

def isPrime(x):
    if x == 1: # x๊ฐ€ 1์ด๋ฉด
        return False # False ์ถœ๋ ฅ - ์†Œ์ˆ˜๊ฐ€ ์•„๋‹˜
    for i in range(2, x//2+1): # 2๋ถ€ํ„ฐ x๋ฅผ 2๋กœ ๋‚˜๋ˆˆ ๋ชซ๊นŒ์ง€,
        if x % i == 0: # x๊ฐ€ ํ•ด๋‹น i๋กœ ๋‚˜๋ˆ  ๋–จ์–ด์ง€๋ฉด
            return False # False ์ถœ๋ ฅ - ์†Œ์ˆ˜๊ฐ€ ์•„๋‹˜
    else:
        return True # ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ฉด True ์ถœ๋ ฅ - ์†Œ์ˆ˜์ž„


n = int(input())
a = list(map(int, input().split()))
for x in a :
    tmp = reverse(x)
    if isPrime(tmp):
        print(tmp, end = ' ')

์†Œ์ˆ˜(์—๋ผํ† ์Šคํ…Œ๋„ค์Šค ์ฒด)

๐Ÿ“„ ๋ฌธ์ œ

์ž์—ฐ์ˆ˜ N์ด ์ž…๋ ฅ๋˜๋ฉด 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
๋งŒ์•ฝ 20์ด ์ž…๋ ฅ๋˜๋ฉด 1๋ถ€ํ„ฐ 20๊นŒ์ง€์˜ ์†Œ์ˆ˜๋Š” 2, 3, 5, 7, 11, 13, 17, 19๋กœ ์ด 8๊ฐœ์ž…๋‹ˆ๋‹ค.
์ œํ•œ์‹œ๊ฐ„์€ 1์ดˆ์ž…๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(2<=N<=200,000)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

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

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด (์‹œ๊ฐ„ ์ดˆ๊ณผ)

# ์ž…๋ ฅ: ์ฒซ ์ค„ - ์ž์—ฐ์ˆ˜์˜ ๊ฐœ์ˆ˜ n
# ์ถœ๋ ฅ: ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ

from math import sqrt               # math ํŒจํ‚ค์ง€์—์„œ ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๋Š” sqrt ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

n = int(input())                    # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น

cnt = [0] * (n+1)                   # n+1๊ฐœ ๋งŒํผ์˜ 0์„ ๋‹ด๋Š” ๋ฆฌ์ŠคํŠธ cnt ํ• ๋‹น

for i in range(2, int(sqrt(n))+1):  # 2๋ถ€ํ„ฐ n์˜ ์ œ๊ณฑ๊ทผ + 1๊นŒ์ง€ ๋ฐ˜๋ณต
    for j in range(2, n+1):         # 2๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
        if i != j and j % i == 0:   # i์™€ j๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋ฉด์„œ, i๋ฅผ j๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๋•Œ,
            cnt[j] = 1              # cnt[j]์˜ ๊ฐ’์„ 1๋กœ ๋ณ€๊ฒฝ
print(cnt.count(0)-2)               # cnt์˜ 0์˜ ๊ฐฏ์ˆ˜ - 2๋ฅผ ์ถœ๋ ฅ (cnt[0]๊ณผ cnt[1]์€ 0๊ณผ 1์ด๊ธฐ ๋•Œ๋ฌธ์— ๋นผ์ค˜์•ผ ํ•จ)

 

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

# ์†Œ์ˆ˜(์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด)

n = int(input())                        # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
ch = [0] * (n+1)                        # n+1๊ฐœ ๋งŒํผ์˜ 0์„ ๋‹ด๋Š” ๋ฆฌ์ŠคํŠธ ch ํ• ๋‹น
cnt = 0                                 # ๊ฐฏ์ˆ˜ ์„ธ๊ธฐ ์œ„ํ•œ cnt ํ• ๋‹น

for i in range(2, n+1):                 # 2๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    if ch[i] == 0:                      # ch[i] ๊ฐ€ 0์ผ ๋•Œ,
        cnt += 1                        # cnt 1 ๋”ํ•ด์ฃผ๊ธฐ
        for j in range(i, n+1, i):      # i๋ถ€ํ„ฐ n๊นŒ์ง€ i์˜ ๊ฐ„๊ฒฉ์œผ๋กœ (๋ฐฐ์ˆ˜๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ)
            ch[j] = 1                   # ๋ฐฐ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” j์ผ ๊ฒฝ์šฐ, 1๋กœ ch[j] ๊ฐ’ ๋ณ€ํ™˜

print(cnt)                              # cnt ๊ฐ’ ์ถœ๋ ฅ

+ Recent posts