์Šคํƒ

๐Ÿ“„ ๋ฌธ์ œ

๋ฌธ์ œ

์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ์Šคํƒ์„ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๋ช…๋ น์€ ์ด ๋‹ค์„ฏ ๊ฐ€์ง€์ด๋‹ค.

  • push X: ์ •์ˆ˜ X๋ฅผ ์Šคํƒ์— ๋„ฃ๋Š” ์—ฐ์‚ฐ์ด๋‹ค.
  • pop: ์Šคํƒ์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ๋นผ๊ณ , ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • size: ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • empty: ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • top: ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. 
๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค.
์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.
๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ ์•Š์€ ๋ช…๋ น์ด ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.

์ถœ๋ ฅ

์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๋ช…๋ น์ด ์ฃผ์–ด์งˆ ๋•Œ๋งˆ๋‹ค, ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

'''
input()์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค.
๋”ฐ๋ผ์„œ sys๋ฅผ ๋ถˆ๋Ÿฌ์™€, stdin.readline()์„ ํ™œ์šฉํ•œ๋‹ค.
'''

import sys

n = int(sys.stdin.readline())                   # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
stack = []                                      # ๋นˆ ์Šคํƒ ํ• ๋‹น

for _ in range(n):                              # n๋ฒˆ ๋ฐ˜๋ณต
    w = list(sys.stdin.readline().split())      # w๋กœ ๋ช…๋ น ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    command = w[0]                              # ๋ช…๋ น์–ด ํ• ๋‹น
    if len(w) == 2:                             # ๋ช…๋ น์–ด ๋’ค์— ์ •์ˆ˜๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ
        num = int(w[1])                         # ์ •์ˆ˜๋Š” num์— ํ• ๋‹น

    if command == 'push':                       # ๋ช…๋ น์–ด๊ฐ€ push์ผ ๊ฒฝ์šฐ,
        stack.append(num)                       # stack์— ํ•ด๋‹น num ์ถ”๊ฐ€

    elif command == 'pop':                      # ๋ช…๋ น์–ด๊ฐ€ pop์ผ ๊ฒฝ์šฐ,
        if len(stack) != 0:
            print(stack.pop())                  # stack์— ๋งจ ๋’ค์˜ ์ •์ˆ˜ pop() ํ•˜๊ณ  ์ถœ๋ ฅ
        else:
            print(-1)

    elif command == 'size':                     # ๋ช…๋ น์–ด๊ฐ€ size์ผ ๊ฒฝ์šฐ,
        print(len(stack))                       # stack์˜ ๊ธธ์ด ์ถœ๋ ฅ

    elif command == 'empty':                    # ๋ช…๋ น์–ด๊ฐ€ empty์ผ ๊ฒฝ์šฐ,
        if len(stack) == 0:
            print(1)                            # ์Šคํƒ์ด ๋น„์–ด ์žˆ๋‹ค๋ฉด 1, ์•„๋‹ˆ๋ฉด 0 ์ถœ๋ ฅ
        else:
            print(0)

    elif command == 'top':                      # ๋ช…๋ น์–ด๊ฐ€ top์ผ ๊ฒฝ์šฐ,
        if len(stack) != 0:
            print(stack[-1])                    # ์Šคํƒ์—์„œ ๊ฐ€์žฅ ๋†’์ด ์žˆ๋Š” ์ •์ˆ˜ ์ถœ๋ ฅ
        else:
            print(-1)

๋žœ์„  ์ž๋ฅด๊ธฐ(๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜)

๐Ÿ“„ ๋ฌธ์ œ

์—˜๋ฆฌํŠธ ํ•™์›์€ ์ž์ฒด์ ์œผ๋กœ K๊ฐœ์˜ ๋žœ์„ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ K๊ฐœ์˜ ๋žœ์„ ์€ ๊ธธ์ด๊ฐ€ ์ œ๊ฐ๊ฐ์ด๋‹ค.
์„ ์ƒ๋‹˜์€ ๋žœ์„ ์„ ๋ชจ๋‘ N๊ฐœ์˜ ๊ฐ™์€ ๊ธธ์ด์˜ ๋žœ์„ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—K๊ฐœ์˜ ๋žœ์„ ์„ ์ž˜๋ผ์„œ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด 300cm ์งœ๋ฆฌ ๋žœ์„ ์—์„œ 140cm ์งœ๋ฆฌ ๋žœ์„ ์„ ๋‘ ๊ฐœ ์ž˜๋ผ๋‚ด๋ฉด 20cm ์€ ๋ฒ„๋ ค์•ผ ํ•œ๋‹ค.
(์ด๋ฏธ ์ž๋ฅธ ๋žœ์„ ์€ ๋ถ™์ผ ์ˆ˜ ์—†๋‹ค.)
ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋žœ์„ ์„ ์ž๋ฅผ๋•Œ ์†์‹ค๋˜๋Š” ๊ธธ์ด๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ,
๊ธฐ์กด์˜ K๊ฐœ์˜ ๋žœ์„ ์œผ๋กœ N๊ฐœ์˜ ๋žœ์„ ์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
๊ทธ๋ฆฌ๊ณ  ์ž๋ฅผ ๋•Œ๋Š” ํ•ญ์ƒ ์„ผํ‹ฐ๋ฏธํ„ฐ ๋‹จ์œ„๋กœ ์ •์ˆ˜ ๊ธธ์ด๋งŒํผ ์ž๋ฅธ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
N๊ฐœ๋ณด๋‹ค ๋งŽ์ด ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ N๊ฐœ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ํฌํ•จ๋œ๋‹ค.
์ด๋•Œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋žœ์„ ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์—๋Š” ์—˜๋ฆฌํŠธํ•™์›์ด ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋žœ์„ ์˜ ๊ฐœ์ˆ˜ K,
๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ๋žœ์„ ์˜ ๊ฐœ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค.
K๋Š” 1์ด์ƒ 10,000์ดํ•˜์˜ ์ •์ˆ˜์ด๊ณ , N์€ 1์ด์ƒ 1,000,000์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ํ•ญ์ƒ K โ‰ฆ N ์ด๋‹ค.
๊ทธ ํ›„ K์ค„์— ๊ฑธ์ณ ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ ๋žœ์„ ์˜ ๊ธธ์ด๊ฐ€ ์„ผํ‹ฐ๋ฏธํ„ฐ ๋‹จ์œ„์˜ 2^31 - 1์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— N๊ฐœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋žœ์„ ์˜ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์„ผํ‹ฐ๋ฏธํ„ฐ ๋‹จ์œ„์˜ ์ •์ˆ˜๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
4 11
802
743
457
539

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด (์‹คํŒจ)

# ์‹คํŒจ
k, n = map(int, input().split())
k_list = []
c_list = []
c = 0
a_list = []

for i in range(k):
    a = int(input())
    k_list.append(a)

k_list = sorted(k_list, reverse = True)

for i in range(k):
    c += 1
    a = n // k
    if c <= n % k:
        a += 1
    c_list.append(a)

# print(k, n, k_list, c_list)

for j in range(k):
    a_list.append(k_list[j] // c_list[j])

# print(a_list)
print(min(a_list))

 

ํ’€์ด (์„ฑ๊ณต)

k, n = map(int, input().split())
k_list = []
answer = 0

for i in range(k):
    a = int(input())
    k_list.append(a)

lt = 1
rt = max(k_list)

while lt <= rt:
    mid = (lt + rt) // 2
    a = 0
    for i in k_list:
        a += i // mid
    if a >= n:
        if mid >= answer:
            answer = mid
        lt = mid + 1
    else:
        rt = mid - 1

print(answer)

 

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

def count(len):
    cnt = 0
    for x in line:
        cnt += (x//len)
    return cnt


k, n = map(int, input().split())
line = []
res = 0 # ์ตœ๋Œ€๊ฐ’ ์ฐพ๊ธฐ
largest = 0
for i in range(k):
    tmp = int(input())
    line.append(tmp)
    largest = max(largest, tmp)

lt = 1
rt = largest

while lt <= rt:
    mid = (lt + rt) // 2
    if count(mid) >= n:
        res=mid
        lt = mid + 1
    else:
        rt = mid - 1

print(res)

์ด๋ถ„ ๊ฒ€์ƒ‰

๐Ÿ“„ ๋ฌธ์ œ

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

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ํ•œ ์ค„์— ์ž์—ฐ์ˆ˜ N(3<=N<=1,000,000)๊ณผ M์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ ์ค„์— N๊ฐœ์˜ ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ •๋ ฌ ํ›„ M์˜ ๊ฐ’์˜ ์œ„์น˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
8 32
23 87 65 12 57 32 99 81

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜ n, m, ๋‘ ๋ฒˆ์งธ ์ค„์— n๊ฐœ์˜ ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง
# ์ถœ๋ ฅ: ์ฒซ ์ค„์— ์ •๋ ฌ ํ›„ m์˜ ๊ฐ’์˜ ์œ„์น˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅ

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

n_list = sorted(n_list)                                             # n_list ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

c = 0                                                               # ์ˆœ์„œ ๋‹ด์„ c ํ• ๋‹น

for i in n_list:                                                    # n_list ์š”์†Œ ๋ฐ˜๋ณต
    c += 1                                                          # c 1์”ฉ ์ฆ๊ฐ€
    if i == m:                                                      # ๋งŒ์•ฝ i๊ฐ€ m์ด๋ฉด
        print(c)                                                    # c ์ถœ๋ ฅ
        break                                                       # ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ

 

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

# ์ด๋ถ„๊ฒ€์ƒ‰

'''
lt, rt
0 1 2 3 4 5 6 7
12 23 32 57 65 81 87 99

mid = (lt + rt) // 2

3 = mid

a[mid] == m

rt = mid - 1
lt = mid + 1

์ ˆ๋ฐ˜์”ฉ ์ขํ˜€ ๋‚˜๊ฐ

1 = mid

lt, rt = 2

๋งŒ์•ฝ 1024๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด
512๊ฐœ๋กœ ์ค„์–ด๋“ฆ
256์œผ๋กœ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์–ด๋“ฆ
128์”ฉ ์ž‘์•„์ง€๋ฉด

์ด๋ถ„๊ฒ€์ƒ‰ log n๋ฒˆ๋งŒ์— ๋œ๋‹ค.
'''

n, m = map(int, input().split())
a = list(map(int, input().split()))
a.sort()
lt = 0
rt = n-1
while lt <= rt:
    mid = (lt + rt) // 2
    if a[mid] == m:
        print(mid + 1)
        break
    elif a[mid]>m:
        rt = mid - 1
    else:
        lt = mid + 1

๊ฒฉ์žํŒ ํšŒ๋ฌธ์ˆ˜

๐Ÿ“„ ๋ฌธ์ œ

1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฑ„์›Œ์ง„ 7*7 ๊ฒฉ์žํŒ์ด ์ฃผ์–ด์ง€๋ฉด ๊ฒฉ์žํŒ ์œ„์—์„œ ๊ฐ€๋กœ๋ฐฉํ–ฅ ๋˜๋Š” ์„ธ๋กœ๋ฐฉํ–ฅ์œผ๋กœ ๊ธธ์ด 5์ž๋ฆฌ ํšŒ๋ฌธ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ํšŒ๋ฌธ์ˆ˜๋ž€ 121๊ณผ ๊ฐ™์ด ์•ž์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๊ฐ™์€ ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.


๋นจ๊ฐ„์ƒ‰์ฒ˜๋Ÿผ ๊ตฌ๋ถ€๋Ÿฌ์ง„ ๊ฒฝ์šฐ(87178)๋Š” ํšŒ๋ฌธ์ˆ˜๋กœ ๊ฐ„์ฃผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฑ„์›Œ์ง„ 7*7๊ฒฉ์žํŒ์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
5์ž๋ฆฌ ํšŒ๋ฌธ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

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

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

'''
๊ฐ€๋กœ๋กœ ๊ฒ€์‚ฌํ•ด์•ผ ํ•˜๋Š” ์ˆ˜: 3 * 7 = 21
์„ธ๋กœ๋กœ ๊ฒ€์‚ฌํ•ด์•ผ ํ•˜๋Š” ์ˆ˜: 3 * 7 = 21
42๊ฐœ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด ๋จ

[0:5]
'''

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

a = [list(map(int, input().split())) for _ in range(7)]         # ๋ฐฐ์—ด ๊ฐ’๋“ค ์ž…๋ ฅํ•˜์—ฌ ํ• ๋‹น

tmp = []                                                        # ํ–‰ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ ํ• ๋‹น
for i in range(7):                                              # 7๋ฒˆ ๋ฐ˜๋ณต
    for j in range(3):                                          # 3๋ฒˆ ๋ฐ˜๋ณต (์ด์ค‘๋ฐ˜๋ณต)
        tmp = a[i][0+j:5+j]                                     # 5๊ฐœ์˜ ์š”์†Œ๋งŒ ์Šฌ๋ผ์ด์‹ฑ

        if tmp[0] == tmp[4] and tmp[1] == tmp[3]:               # ํšŒ๋ฌธ์ผ ๋•Œ,
            cnt += 1                                            # cnt 1 ์ฆ๊ฐ€

        if a[0+j][i] == a[4+j][i] and a[1+j][i] == a[3+j][i]:   # ์„ธ๋กœ๋กœ ํšŒ๋ฌธ์ผ ๋•Œ,
            cnt += 1                                            # cnt 1 ์ฆ๊ฐ€

print(cnt)                                                      # cnt ์ถœ๋ ฅ

 

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

board = [list(map(int, input().split())) for _ in range(7)]

cnt = 0

for i in range(3):
    for j in range(7):
        tmp = board[j][i:i+5]
        if tmp == tmp[::-1]:
            cnt += 1
        for k in range(2):
            if board[i+k][j] != board[i+5-k-1][j]:
                break
        else:
            cnt += 1
print(cnt)

์Šคํ† ์ฟ  ๊ฒ€์‚ฌ

๐Ÿ“„ ๋ฌธ์ œ

์Šค๋„์ฟ ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์ˆซ์ž ํผ์ฆ์ด๋‹ค.
9×9 ํฌ๊ธฐ์˜ ๋ณด๋“œ๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฐ ํ–‰๊ณผ ๊ฐ ์—ด,
๊ทธ๋ฆฌ๊ณ  9 ๊ฐœ์˜ 3×3 ํฌ๊ธฐ์˜ ๋ณด๋“œ์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ์ค‘๋ณต ์—†์ด ๋‚˜ํƒ€๋‚˜๋„๋ก ๋ณด๋“œ๋ฅผ ์ฑ„์šฐ๋ฉด ๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์„ ๋ณด์ž.


์œ„ ๊ทธ๋ฆผ์€ ์Šค๋„์ฟ ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘ผ ๊ฒฝ์šฐ์ด๋‹ค.
๊ฐ ํ–‰์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ์ค‘๋ณต ์—†์ด ๋‚˜์˜ค๊ณ ,
๊ฐ ์—ด์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ์ค‘๋ณต ์—†์ด ๋‚˜์˜ค๊ณ ,
๊ฐ 3×3์งœ๋ฆฌ ์‚ฌ๊ฐํ˜•(9๊ฐœ์ด๋ฉฐ, ์œ„์—์„œ ์ƒ‰ ๊น”๋กœ ํ‘œ์‹œ๋˜์—ˆ๋‹ค)์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ์ค‘๋ณต ์—†์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์™„์„ฑ๋œ 9×9 ํฌ๊ธฐ์˜ ์ˆ˜๋„์ฟ ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ •ํ™•ํ•˜๊ฒŒ ํ’€์—ˆ์œผ๋ฉด “YES",
์ž˜๋ชป ํ’€์—ˆ์œผ๋ฉด ”NO"๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ๋ฒˆ์งธ ์ค„์— ์™„์„ฑ๋œ 9×9 ์Šค๋„์ฟ ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์งธ ์ค„์— “YES" ๋˜๋Š” ”NO"๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”.

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

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

๐Ÿงž ํ’€์ด (์‹คํŒจ: 45 ํ•ฉ์„ ๊ธฐ์ค€์œผ๋กœ ํ–ˆ๋Š”๋ฐ ๋ฐ˜๋ก€ ์กด์žฌ)

๋”๋ณด๊ธฐ
# ์‹คํŒจ
# 45 ํ•ฉ์„ ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“  ์ˆ˜๋„์ฟ 
# ๊ฐ’์ด ์ค‘๋ณต๋˜๋”๋ผ๋„ ํ•ฉ์ด 45๊ฐ€ ๋˜๋Š” ๋ฐ˜๋ก€๊ฐ€ ์กด์žฌํ•จ

'''
๊ฐ ์‚ฌ๊ฐํ˜•์˜ ํ•ฉ

a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
a[2][0] a[2][1] a[2][2]

a[0][3] a[0][4] a[0][5]
a[1][3] a[1][4] a[1][5]
a[2][3] a[2][4] a[2][5]

a[0][6] a[0][7] a[0][8]
a[1][6] a[1][7] a[1][8]
a[2][6] a[2][7] a[2][8]

a[3][0] a[3][1] a[3][2]
a[4][0] a[4][1] a[4][2]
a[5][0] a[5][1] a[5][2]

a[3][3] a[3][4] a[3][5]
a[4][3] a[4][4] a[4][5]
a[5][3] a[5][4] a[5][5]

a[3][6] a[3][7] a[3][8]
a[4][6] a[4][7] a[4][8]
a[5][6] a[5][7] a[5][8]

a[6][0] a[6][1] a[6][2]
a[7][0] a[7][1] a[7][2]
a[8][0] a[8][1] a[8][2]

a[6][3] a[6][4] a[6][5]
a[7][3] a[7][4] a[7][5]
a[8][3] a[8][4] a[8][5]

a[6][6] a[6][7] a[6][8]
a[7][6] a[7][7] a[7][8]
a[8][6] a[8][7] a[8][8]

3๊ฐœ * 3๊ฐœ ๋งŒํผ ์ด์ค‘๋ฐ˜๋ณตํ•˜๋ฉด ๋  ๋“ฏ!

'''

sudoku = [list(map(int, input().split())) for _ in range(9)]

cnt1 = 0
cnt2 = 0
cnt3 = 0

for i in range(9):
    print(sum(sudoku[i]))
    if sum(sudoku[i]) == 45:
        cnt1 = 0
    else:
        cnt1 = 1

    tmp = 0
    for j in range(9):
        tmp += sudoku[j][i]
    print(tmp)
    if tmp == 45:
        cnt2 = 0
    else:
        cnt2 = 1

for l1 in range(3):
    for l2 in range(3):
        tmp2 = 0
        tmp2 += sudoku[l1 * 3][l2 * 3]
        tmp2 += sudoku[l1 * 3][l2 * 3 + 1]
        tmp2 += sudoku[l1 * 3][l2 * 3 + 2]
        tmp2 += sudoku[l1 * 3 + 1][l2 * 3]
        tmp2 += sudoku[l1 * 3 + 1][l2 * 3 + 1]
        tmp2 += sudoku[l1 * 3 + 1][l2 * 3 + 2]
        tmp2 += sudoku[l1 * 3 + 2][l2 * 3]
        tmp2 += sudoku[l1 * 3 + 2][l2 * 3 + 1]
        tmp2 += sudoku[l1 * 3 + 2][l2 * 3 + 2]
        print(tmp2)
        if tmp2 == 45:
            cnt3 = 0
        else:
            cnt3 = 1

if cnt1 == 1 or cnt2 == 1 or cnt3 == 1:
    print('NO')
else:
    print('YES')

 

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

# ํ–‰์„ ์ฒดํฌํ•˜๋Š” ๋ฆฌ์ŠคํŠธ
# ์—ด์„ ์ฒดํฌํ•˜๋Š” ๋ฆฌ์ŠคํŠธ
# ๊ทธ๋ฃน์„ ์ฒดํฌํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ™•์ธ

'''
ch = [0] * 10
ch1 ํ–‰
ch2 ์–„
ch3 ๊ทธ๋ฃน
ch[a[i][j]] = 1
sum(ch) != 9
์ž˜๋ชป๋œ ์Šคํ† ์ฟ ์ž„
'''

def check(tmp):
    for i in range(9):
        ch1 = [0] * 10
        ch2 = [0] * 10
        for j in range(9):
            ch1[a[i][j]] = 1
            ch2[a[j][i]] = 1
        if sum(ch1) != 9 or sum(ch2) != 9:
            return False
    for i in range(3):
        for j in range(3):
            ch3 = [0] * 10
            for k in range(3):
                for s in range(3):
                    ch3[a[i*3 + k][j*3 + s]] = 1
            if sum(ch3) != 9:
                return False
    return True

a = [list(map(int, input().split())) for _ in range(9)]

if check(a):
    print('YES')
else:
    print('NO')

 

 

๋ด‰์šฐ๋ฆฌ

๐Ÿ“„ ๋ฌธ์ œ

์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ ๊ฒฉ์ž ํŒ์˜ ์ˆซ์ž ์ค‘ ์ž์‹ ์˜ ์ƒํ•˜์ขŒ์šฐ ์ˆซ์ž๋ณด๋‹ค ํฐ ์ˆซ์ž๋Š” ๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ž…๋‹ˆ๋‹ค.
๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š” ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
๊ฒฉ์ž์˜ ๊ฐ€์žฅ์ž๋ฆฌ๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
๋งŒ์•ฝ N=5 ์ด๊ณ , ๊ฒฉ์žํŒ์˜ ์ˆซ์ž๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด ๋ด‰์šฐ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋Š” 10๊ฐœ์ž…๋‹ˆ๋‹ค.

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

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
๋ด‰์šฐ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”.

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

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

n = int(input())                                                                # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
a = [list(map(int, input().split())) for _ in range(n)]                         # ๊ฐ’๋“ค ์ž…๋ ฅ ๋ฐ›์•„ ๋ฐฐ์—ด ํ• ๋‹น
a.insert(0, [0] * (n + 2))                                                      # ๋งจ ์œ— ์ค„์— 0์œผ๋กœ ๋œ ํ–‰ ๋„ฃ๊ธฐ
a.append([0] * (n + 2))                                                         # ๋งจ ์•„๋žซ ์ค„์—๋„ 0์œผ๋กœ ๋œ ํ–‰ ๋„ฃ๊ธฐ
for i in range(1, n+1):                                                         # 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    a[i].insert(0, 0)                                                           # ๊ฐ ํ–‰ ์ฒซ ๋ถ€๋ถ„์— 0 ์ถ”๊ฐ€
    a[i].append(0)                                                              # ๊ฐ ํ–‰ ๋ ๋ถ€๋ถ„์— 0 ์ถ”๊ฐ€

cnt = 0                                                                         # ๋ด‰์šฐ๋ฆฌ ๊ฐฏ์ˆ˜ ์„ธ๊ธฐ ์œ„ํ•œ cnt ํ• ๋‹น

for j in range(1, n+1):                                                         # 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
    for k in range(1, n+1):                                                     # ์ด์ค‘๋ฐ˜๋ณต๋ฌธ
        p = a[j][k]                                                             # ๋ด‰์šฐ๋ฆฌ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ p ํ• ๋‹น
        if p > a[j][k+1] and p > a[j][k-1] and p > a[j+1][k] and p > a[j-1][k]: # p๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋ž‘ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋ชจ๋‘ ํฐ ๊ฐ’์ด๋ฉด
            cnt += 1                                                            # cnt๋ฅผ 1๋งŒํผ ์ฆ๊ฐ€

print(cnt)                                                                      # ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์–ป์€ ๋ด‰์šฐ๋ฆฌ ๊ฐฏ์ˆ˜ ์ถœ๋ ฅ

 

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

dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]

n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
a.insert(0, 0 * n)
a.append([0] * n)
for x in a:
    x.insert(0, 0)
    x.append(0)

cnt = 0
for i in range(1, n+1):
    for j in range(1, n+1):
        if all(a[i][j] > a[i+dx[k]][j+dy[k]] for k in range(4)):
            cnt += 1

print(cnt)

๊ณณ๊ฐ(๋ชจ๋ž˜์‹œ๊ณ„)

๐Ÿ“„ ๋ฌธ์ œ

ํ˜„์ˆ˜๋Š” ๊ณณ๊ฐ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ฐ์„ ๊น์•„ ๋งˆ๋‹น์— ๋ง๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์ˆ˜์˜ ๋งˆ๋‹น์€ N*N ๊ฒฉ์žํŒ์œผ ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ํ˜„์ˆ˜๋Š” ๊ฐ ๊ฒฉ์ž๋‹จ์œ„๋กœ ๋ง๋ฆฌ๋Š” ๊ฐ์˜ ์ˆ˜๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ํ•ด์˜ ์œ„์น˜์— ๋”ฐ๋ผ ํŠน์ •์œ„์น˜์˜ ๊ฐ์€ ์ž˜ ๋งˆ๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ํ˜„์ˆ˜๋Š” ๊ฒฉ์ž์˜ ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ, ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํšŒ์ „์‹œ์ผœ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด ๋ชจ๋“  ๊ฐ์ด ์ž˜ ๋งˆ๋ฅด๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํšŒ์ „๋ช…๋ น ์ •๋ณด๊ฐ€ 2 0 3์ด๋ฉด 2๋ฒˆ์งธ ํ–‰์„ ์™ผ์ชฝ์œผ๋กœ 3๋งŒํผ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํšŒ์ „์‹œํ‚ค๋Š” ๋ช…๋ น ์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” ํ–‰๋ฒˆํ˜ธ,
๋‘ ๋ฒˆ์งธ ์ˆ˜๋Š” ๋ฐฉํ–ฅ์ธ๋ฐ 0์ด๋ฉด ์™ผ์ชฝ,
1์ด๋ฉด ์˜ค๋ฅธ์ชฝ์ด๊ณ ,
์„ธ ๋ฒˆ์งธ ์ˆ˜๋Š” ํšŒ์ „ํ•˜๋Š” ๊ฒฉ์ž์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.
M๊ฐœ์˜ ํšŒ์ „๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋‚œ ํ›„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งˆ๋‹น์˜ ๋ชจ๋ž˜์‹œ๊ณ„ ๋ชจ์–‘์˜ ์˜์—ญ์—๋Š”
๊ฐ์ด ์ด ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.



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

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

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
3
2 0 3
5 1 2
3 1 4

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

'''
์˜ˆ๋ฅผ ๋“ค์–ด, 2 0 3
0 1 2 3 4
3 4 0 1 2

3 -> 3 - 3 = 0
4 -> 4 - 3 = 0
2 -> 2 - 3 = -1 -> 4 == len() + (2 - 3)
1 -> 1 - 3 = -2 -> 3 == len() + (1 - 3)
0 -> 0 - 3 = -3 -> 2 == len() + (0 - 3)

ํ•œํŽธ, 2 1 3
0 1 2 3 4
2 3 4 0 1

0 -> 0 + 3 = 3
1 -> 1 + 3 = 4

2 -> 2 + 3 = 5 -> 1 = 5 - 4
3 -> 3 + 3 = 6 -> 2 = 6 - 4
4 -> 4 + 3 = 7 -> 3 = 7 - 4
'''

# ์ž…๋ ฅ: ์ฒซ ์ค„ - N, ๋‘˜ ์งธ์ค„๋ถ€ํ„ฐ N์งธ์ค„๊นŒ์ง€ ์ž์—ฐ์ˆ˜ N๊ฐœ, ์ดํ›„ M, M์ค„์˜ ํšŒ์ „ ๋ช…๋ น
# ์ถœ๋ ฅ: ์ด ๊ฐ์˜ ๊ฐœ์ˆ˜

n = int(input())                                        # ์ •์ˆ˜ n ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
array = []                                              # ๋นˆ array ํ• ๋‹น
for i in range(n):                                      # n๋งŒํผ ๋ฐ˜๋ณต
    array.append(list(map(int,input().split())))        # array์— ์ˆซ์ž ์ž…๋ ฅํ•˜์—ฌ ์ถ”๊ฐ€

m = int(input())                                        # ์ •์ˆ˜ m ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
for i in range(m):                                      # m๋งŒํผ ๋ฐ˜๋ณต
    a, b, c = map(int, input().split())                 # a, b, c ์ž…๋ ฅ ๋ฐ ํ• ๋‹น
    if b == 0:                                          # b๊ฐ€ 0์ด๋ฉด ์™ผ์ชฝ์œผ๋กœ ํšŒ์ „
        for _ in range(c):                              # c๋งŒํผ ๋ฐ˜๋ณต
            array[a-1].append(array[a-1][0])            # ์ œ์ผ ์™ผ์ชฝ์˜ ์ˆซ์ž๋ฅผ ์ œ์ผ ์˜ค๋ฅธ์ชฝ์— ์ถ”๊ฐ€
            array[a-1].pop(0)                           # ์ œ์ผ ์™ผ์ชฝ์˜ ์ˆซ์ž pop()์œผ๋กœ ์ œ๊ฑฐ

    else:                                               # b๊ฐ€ 1์ด๋ฉด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํšŒ์ „
        for _ in range(c):                              # c๋งŒํผ ๋ฐ˜๋ณต
            array[a-1].insert(0, array[a-1][-1])        # ์ œ์ผ ์˜ค๋ฅธ์ชฝ์˜ ์ˆซ์ž๋ฅผ ์ œ์ผ ์™ผ์ชฝ์— ์ถ”๊ฐ€
            array[a-1].pop()                            # ์ œ์ผ ์˜ค๋ฅธ์ชฝ์˜ ์ˆซ์ž pop()์œผ๋กœ ์ œ๊ฑฐ

s = 0                                                   # ์‹œ์ž‘ ํฌ์ธํ„ฐ: 0์œผ๋กœ ํ• ๋‹น
e = n                                                   # ๋ ํฌ์ธํ„ฐ: n์œผ๋กœ ํ• ๋‹น (์Šฌ๋ผ์ด์‹ฑ์„ ์œ„ํ•ด n-1์ด ์•„๋‹Œ, n)

sum_result = 0                                          # ํ•ฉ์„ ๋‹ด์„ sum_result ๋ณ€์ˆ˜ 0์œผ๋กœ ํ• ๋‹น

for j in range(n):                                      # n๋งŒํผ ๋ฐ˜๋ณต
    sum_result += sum(array[j][s:e])                    # ํ•ด๋‹น ์กฐ๊ฑด์˜ ์Šฌ๋ผ์ด์‹ฑ๋œ ๋ฆฌ์ŠคํŠธ์˜ ํ•ฉ์„ sum_result์— ๋”ํ•ด์คŒ
    if j < n // 2:                                      # ์ ˆ๋ฐ˜์„ ๊ธฐ์ค€์œผ๋กœ ์œ„์— ์žˆ๋Š” ํ–‰๋“ค์˜ ๊ฒฝ์šฐ,
        s += 1                                          # s๋Š” 1์”ฉ ์ปค์ง€๊ณ 
        e -= 1                                          # e๋Š” 1์”ฉ ์ž‘์•„์ง
    else:                                               # ์ ˆ๋ฐ˜์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ‘์— ์žˆ๋Š” ํ–‰๋“ค์˜ ๊ฒฝ์šฐ,
        s -= 1                                          # s๋Š” 1์”ฉ ์ž‘์•„์ง€๊ณ 
        e += 1                                          # e๋Š” 1์”ฉ ์ปค์ง

print(sum_result)                                       # ํ•ฉ ์ถœ๋ ฅ

 

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

n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
m = int(input())
for i in range(m):
    h, t, k = map(int, input().split())
    if t == 0:
        for _ in range(k):
            a[h-1].append(a[h-1].pop(0))

    else:
        for _ in range(k):
            a[h-1].insert(0, a[h-1].pop())

res = 0
s = 0
e = n - 1
for i in range(n):
    for j in range(s, e+1):
        res += a[i][j]
    if i < n // 2:
        s += 1
        e -= 1
    else:
        s -= 1
        e += 1

print(res)

์‚ฌ๊ณผ๋‚˜๋ฌด(๋‹ค์ด์•„๋ชฌ๋“œ)

๐Ÿ“„ ๋ฌธ์ œ

ํ˜„์ˆ˜์˜ ๋†์žฅ์€ N*N ๊ฒฉ์žํŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ๊ฒฉ์ž์•ˆ์—๋Š” ํ•œ ๊ทธ๋ฃจ์˜ ์‚ฌ๊ณผ๋‚˜๋ฌด๊ฐ€ ์‹ฌ์–ด์ € ์žˆ๋‹ค.
N์˜ ํฌ๊ธฐ๋Š” ํ•ญ์ƒ ํ™€์ˆ˜์ด๋‹ค.
๊ฐ€์„์ด ๋˜์–ด ์‚ฌ๊ณผ๋ฅผ ์ˆ˜ํ™•ํ•ด์•ผ ํ•˜๋Š”๋ฐ ํ˜„์ˆ˜๋Š” ๊ฒฉ์žํŒ์•ˆ์˜ ์‚ฌ๊ณผ๋ฅผ ์ˆ˜ํ™•ํ•  ๋•Œ
๋‹ค์ด์•„๋ชฌ๋“œ ๋ชจ์–‘์˜ ๊ฒฉ์žํŒ๋งŒ ์ˆ˜ํ™•ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๊ฒฉ์ž์•ˆ์˜ ์‚ฌ๊ณผ๋Š” ์ƒˆ๋“ค์„ ์œ„ํ•ด์„œ ๋‚จ๊ฒจ๋†“๋Š”๋‹ค.
๋งŒ์•ฝ N์ด 5์ด๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ง„ํ•œ ๋ถ€๋ถ„์˜ ์‚ฌ๊ณผ๋ฅผ ์ˆ˜ํ™•ํ•œ๋‹ค.

ํ˜„์ˆ˜๊ณผ ์ˆ˜ํ™•ํ•˜๋Š” ์‚ฌ๊ณผ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ์ž์—ฐ์ˆ˜ N(ํ™€์ˆ˜)์ด ์ฃผ์–ด์ง„๋‹ค.(3<=N<=20)
๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N์ค„์— ๊ฑธ์ณ ๊ฐ ์ค„์— N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
์ด ์ž์—ฐ์ˆ˜๋Š” ๊ฐ ๊ฒฉ์ž์•ˆ์— ์žˆ๋Š” ์‚ฌ๊ณผ๋‚˜๋ฌด์— ์—ด๋ฆฐ ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜์ด๋‹ค.
๊ฐ ๊ฒฉ์ž์•ˆ์˜ ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ˆ˜ํ™•ํ•œ ์‚ฌ๊ณผ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ์ฒซ ์ค„ - N (ํ™€์ˆ˜), ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๋ฒˆ์งธ ์ค„๊นŒ์ง€ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜
# ์ถœ๋ ฅ: ์ˆ˜ํ™•ํ•œ ์ด ์‚ฌ๊ณผ ๊ฐœ์ˆ˜

'''
๋งŒ์•ฝ 7์ด๋ฉด,
1 3 5 7 5 3 1

๋งŒ์•ฝ 9์ด๋ฉด,
1 3 5 7 9 7 5 3 1
'''

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

for i in range(n):                                                          # n๋งŒํผ ๋ฐ˜๋ณต
    array.append(list(map(int,input().split())))                            # array์— ๊ฐ ํ–‰์˜ ์ˆซ์ž ์ถ”๊ฐ€

for i in range(n):                                                          # n๋งŒํผ ๋ฐ˜๋ณต
    if i <= int(n/2):                                                       # ์œ„์˜ ์ ˆ๋ฐ˜ ์ค„์˜ ๊ฒฝ์šฐ์—๋Š”
        list_s.append(sum(array[i][int(n/2)-i:int(n/2)+1+i]))               # ํ•ด๋‹น ์กฐ๊ฑด๋งŒํผ๋งŒ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ๋”ํ•จ
    else:                                                                   # ๋ฐ˜๋Œ€๋กœ ๋ฐ‘์˜ ์ ˆ๋ฐ˜ ์ค„์˜ ๊ฒฝ์šฐ์—๋Š”
        list_s.append(sum(array[i][int(n/2)-(n-i-1):int(n/2)+1+(n-i-1)]))   # ํ•ด๋‹น ์กฐ๊ฑด๋งŒํผ๋งŒ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ๋”ํ•จ

print(sum(list_s))                                                          # ํ•ฉ์„ ๊ตฌํ•˜์—ฌ ์ถœ๋ ฅ

 

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

n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
res = 0

s = e = n // 2

for i in range(n):
    for j in range(s, e + 1):
        res += a[i][j]
    if i < n // 2:
        s -= 1
        e += 1
    else:
        s += 1
        e -= 1

print(res)

๊ฒฉ์žํŒ ์ตœ๋Œ€ํ•ฉ

๐Ÿ“„ ๋ฌธ์ œ

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

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ตœ๋Œ€ํ•ฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19

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

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

n = int(input())
board = []

for _ in range(n):
    tmp = list(map(int, input().split()))
    board.append(tmp)

max_sum = 0

# ๊ฐ€๋กœ ํ•ฉ ๊ตฌํ•ด์„œ ์ตœ๋Œ“๊ฐ’๊ณผ ๋น„๊ต
for i in board:
    if sum(i) > max_sum:
        max_sum = sum(i)

# ์„ธ๋กœ ํ•ฉ ๊ตฌํ•ด์„œ ์ตœ๋Œ“๊ฐ’๊ณผ ๋น„๊ต
for j in range(n):
    tmp = 0
    for k in range(n):
        tmp += board[k][j]
        if tmp > max_sum:
            max_sum = tmp

# ์ •๋ฐฉํ–ฅ ๋Œ€๊ฐ์„  ํ•ฉ ๊ตฌํ•ด์„œ ์ตœ๋Œ“๊ฐ’๊ณผ ๋น„๊ต
tmp2 = 0
for l in range(n):
    tmp2 += board[l][l]
if tmp2 > max_sum:
    max_sum = tmp2

# ์—ญ๋ฐฉํ–ฅ ๋Œ€๊ฐ์„  ํ•ฉ ๊ตฌํ•ด์„œ ์ตœ๋Œ“๊ฐ’๊ณผ ๋น„๊ต
tmp3 = 0
for m in range(n):
    tmp3 += board[m][n-1-m]
if tmp3 > max_sum:
    max_sum = tmp3

print(max_sum)

 

ํ’€์ด 2

# ์•ž์˜ ํ’€์ด์™€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์Œ

# ์ž…๋ ฅ: ์ฒซ ์ค„ - N, ๋‘ ๋ฒˆ์งธ๋ถ€ํ„ฐ N๋ฒˆ์งธ๊นŒ์ง€ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜
# ์ถœ๋ ฅ: ์ตœ๋Œ€ํ•ฉ ์ถœ๋ ฅ

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

array = []                                              # ์ˆซ์ž๋ฅผ ๋‹ด์„ ๋นˆ array ํ• ๋‹น
list_s = []                                             # ํ•ฉ์„ ๋‹ด์„ list_s ํ• ๋‹น

for i in range(n):                                      # n๋งŒํผ ๋ฐ˜๋ณต
    array.append(list(map(int,input().split())))        # ์ˆซ์ž list๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ 2์ฐจ์› ๋ฐฐ์—ด์— ๋‹ด๊ธฐ

for i in array:                                         # array ์š”์†Œ๋งŒํผ ๋ฐ˜๋ณต
    list_s.append(sum(i))                               # ๊ฐ ํ–‰์˜ ํ•ฉ ๊ตฌํ•˜์—ฌ list_s์— ์ถ”๊ฐ€

for i in range(n):                                      # i ๋งŒํผ ๋ฐ˜๋ณต
    tmp = 0                                             # ์š”์†Œ ๊ฐ’์„ ๋”ํ•  tmp ํ• ๋‹น
    for j in range(n):                                  # ์ด์ค‘๋ฐ˜๋ณต๋ฌธ
        tmp += array[j][i]                              # ๊ฐ ์—ด์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ
    list_s.append(tmp)                                  # list_s์— ์ถ”๊ฐ€

i = 0
tmp2 = 0
tmp3 = 0
while i < n:                                            # i๊ฐ€ n๋ณด๋‹ค ํฌ์ง€ ์•Š์„ ๋•Œ ๋ฌดํ•œ ๋ฐ˜๋ณต
    tmp2 += array[i][i]                                 # tmp2์—๋Š” ์ •๋ฐฉํ–ฅ ๋Œ€๊ฐ์„  ํ•ฉ ๊ตฌํ•˜๊ธฐ
    tmp3 += array[n-1-i][i]                             # tmp3์—๋Š” ์—ญ๋ฐฉํ–ฅ ๋Œ€๊ฐ์„  ํ•ฉ ๊ตฌํ•˜๊ธฐ
    i += 1
else:
    list_s.append(tmp2)                                 # list_s์— ์ถ”๊ฐ€
    list_s.append(tmp3)                                 # list_s์— ์ถ”๊ฐ€

print(max(list_s))                                      # list_s์˜ ์ตœ๋Œ“๊ฐ’ ์ถœ๋ ฅ

 

 

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

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

# ํ•œ ๋ฒˆ์— 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ
a=[list(map(int, input().split())) for _ in range(n)]

# ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์œผ๋กœ ์ตœ๋Œ“๊ฐ’ ํ• ๋‹น
largest = -2147000000

# ํ–‰๊ณผ ์—ด ํ•ฉ ๊ตฌํ•˜๊ธฐ
for i in range(n):
    sum1 = sum2 = 0
    for j in range(n):
        sum1 += a[i][j]  # ํ–‰์„ ์ญ‰ ํ•ฉํ•˜๋Š” ๊ฒƒ
        sum2 += a[j][i]  # ์—ด์„ ์ญ‰ ํ•ฉํ•˜๋Š” ๊ฒƒ

    if sum1 > largest:
        largest = sum1
    if sum2 > largest:
        largest = sum2

# ๋Œ€๊ฐ์„  ํ•ฉ ๊ตฌํ•˜๊ธฐ
sum1 = sum2 = 0
for i in range(n):
    sum1 += a[i][i]
    sum2 += a[i][n-i-1]

if sum1 > largest:
    largest = sum1
if sum2 > largest:
    largest = sum2

print(largest)

+ Recent posts