[๋ฐฑ์ค€ ์™„์ „ํƒ์ƒ‰] ๊ณ ์ธต ๊ฑด๋ฌผ

2024. 5. 5. 14:49ยท ํŒŒ์ด์ฌ
๋ชฉ์ฐจ
  1. ๋ฌธ์ œ์„ค๋ช…
  2. ํ•ด๊ฒฐ๊ณผ์ •
  3. ์ฒซํ’€์ด

https://www.acmicpc.net/problem/1027

 

๋ฌธ์ œ์„ค๋ช…

๋ฌธ์ œ๋ฅผ ๋”ฑ ๋ณด์ž๋งˆ์ž ์™„์ „ํƒ์ƒ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ฑด๋ฌผ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉฐ ์นด์šดํŒ…์„ ํ•˜ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๋นŒ๋”ฉ์˜ ์ˆ˜๋„ ์ ์œผ๋‹ˆ 3์ค‘ ๋ฐ˜๋ณต๋ฌธ๋„ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ์•ˆ๋‚  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

ํ•ด๊ฒฐ๊ณผ์ •

์ฒซํ’€์ด

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

for i in range(n):
  cnt = 0
  for j in range(n):

    if i == j:
      continue

    target = abs(arr[j] - arr[i]) / abs(j - i)
    start = min(i, j)
    end = max(i, j)

    flag = True

    if end - start == 1:
      if arr[i] >= arr[j]:
        cnt += 1
        continue
      else:
        continue

    for k in range(start + 1, end):
      if arr[i] < arr[j] or (arr[i]>=arr[j] and arr[k] >= arr[i]):
        flag = False
        continue
        
      if abs(arr[j] - arr[k]) / abs(j - k) > target:
        flag = False
        continue
    if flag:
      cnt += 1

    if i==2 and j==1:
      print(flag)

  print(cnt, end=" ")

# https://www.acmicpc.net/problem/1027

 

๋ช‡ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํ†ต๊ณผํ•˜๋Š” ๊ฑธ๋กœ ๋ณด์ด์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ ๊ฐ’์ด ๋งž์ง€ ์•Š์•˜๋‹ค.

 

 

์ตœ๋Œ€๊ฐ’์ด 7์ด ๋‚˜์™€์•ผ ํ•˜๋Š”๋ฐ ๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ๋ฅผ ๋Œ๋ฆฌ๋ฉด 4๊ฐ€ ์ตœ๋Œ€์˜€๋‹ค. ๊ฒฐ๊ณผ๊ฐ’์„ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋กœ์ง์€ ์–ด๋А ์ •๋„ ๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํ•œ ๋ฒˆ ์ฝ”๋“œ๋ฅผ ์ ๊ณ  ๊ฒฐ๊ณผ๊ฐ’์„ ํ™•์ธํ•˜๋‹ˆ ์•„์ง ๋‚ด๊ฐ€ ์ฒซ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๋‹ต์ด ์™œ 7์ด ๋‚˜์˜ค๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ด ๋ชปํ–ˆ์—ˆ๋‹ค. ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฑด๋ฌผ๋“ค์„ ๊ทธ๋ ค๋ณด๋‹ˆ ๋‚ด๊ฐ€ ๋†“์น˜๊ณ  ์žˆ๋Š”๊ฒŒ ์žˆ์—ˆ๋‹ค. ๊ธฐ์šธ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋กœ์ง์€ (i,j) ์‚ฌ์ด์— ์žˆ๋Š” k๊ฐ€ arr[i]>arr[k]>arr[j], arr[j]<arr[k]<arr[i] ์˜ ๊ด€๊ณ„์— ์žˆ์„๋•Œ์ด๋‹ค.

 

ํ•œ ๋ฒˆ ์ด๊ฑธ ๊ณ ๋ คํ•˜์—ฌ ๋‹ค์‹œ ์ž‘์„ฑํ•ด๋ณด์ž

 

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

for i in range(n):
  cnt = 0
  for j in range(n):

    if i == j:
      continue

    target = abs(arr[j] - arr[i]) / abs(j - i)
    start = min(i, j)
    end = max(i, j)

    flag = True

    if end - start == 1:
      if arr[i] >= arr[j]:
        cnt += 1
        continue
      else:
        continue

    for k in range(start + 1, end):
      if arr[i] < arr[j] or (arr[i] >= arr[j] and arr[k] >= arr[i]):
        flag = False
        continue

      if arr[k] >= arr[j] or arr[k] >= arr[i]:
        continue

      if abs(arr[j] - arr[k]) / abs(j - k) > target:
        flag = False
        continue

    if flag:
      cnt += 1

  print(cnt, end=" ")

# https://www.acmicpc.net/problem/1027

 

์œ„์™€ ๊ฐ™์ด 7์ด ์ž˜ ๋‚˜์˜ค๋Š” ๊ฑธ ํ™•์ธํ–ˆ๋‹ค. 

 

๋‹ค๋งŒ ์œ„ ์ฝ”๋“œ๋กœ๋Š” 5๋ฒˆ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

 

์œ„ ํ…Œ์ผ€์˜ ์ถœ๋ ฅ์ด 6์ธ ์ด์œ ๋Š” ์•„๋งˆ ์ฒซ๋ฒˆ์งธ ๊ฑด๋ฌผ์—์„œ ๋ณด์ด๋Š” ๊ฑด๋ฌผ์ผ ๊ฒƒ์ด๋‹ค.

 

N = int(input())

building = list(map(int, input().split()))
answer = 0

for i in range(N):
  temp = N - 1
  for j in range(i+1, N):
    for k in range(i+1, j):
      if building[k] - building[i] >= (((building[j] - building[i])/(j-i)) * (k-i)):
        temp -= 1
        break

  for j in range(0,i):
    for k in range(j+1, i):
      if building[k] - building[j] >= (((building[i] - building[j])/(i-j)) * (k-j)):
        temp -= 1
        break

  answer = max(answer, temp)

print(answer)

 

์ตœ์ข…์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋ณด์•˜๋‹ค

'ํŒŒ์ด์ฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ5) ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์ธ๋ฑ์‹ฑ  (0) 2021.07.04
ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ๊ธธ์ด๊ตฌํ•˜๋Š” ๋ฒ•  (0) 2021.07.04
[ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ4) ์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ  (0) 2021.07.04
[ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ3) ํ•œ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฌธ์ž์—ด ๋‹ด๋Š” ๋ฐฉ๋ฒ•  (0) 2021.07.03
[ํŒŒ์ด์ฌ] (ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ2) ๋ฌธ์ž์—ด ์•ˆ์— ์ž‘์€๋”ฐ์˜ดํ‘œ ํฐ๋”ฐ์˜ดํ‘œ ํฌํ•จ์‹œํ‚ค๊ธฐ  (0) 2021.07.02
  1. ๋ฌธ์ œ์„ค๋ช…
  2. ํ•ด๊ฒฐ๊ณผ์ •
  3. ์ฒซํ’€์ด
'ํŒŒ์ด์ฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ5) ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์ธ๋ฑ์‹ฑ
  • ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ๊ธธ์ด๊ตฌํ•˜๋Š” ๋ฒ•
  • [ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ4) ์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ
  • [ํŒŒ์ด์ฌ] (๋ฌธ์ž์—ด ์ •๋ณตํ•˜๊ธฐ3) ํ•œ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฌธ์ž์—ด ๋‹ด๋Š” ๋ฐฉ๋ฒ•
๊น€ํƒœ์ง„
๊น€ํƒœ์ง„
์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ๋…ธ๋ ฅ์ค‘ ์ž…๋‹ˆ๋‹ค
๊น€ํƒœ์ง„
My Dev History๐Ÿ’ป
๊น€ํƒœ์ง„
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (131)
    • ํŒŒ์ด์ฌ (8)
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (24)
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (13)
      • ํ”„๋กœ์ ํŠธ (6)
      • ์ด๋ก  (6)
    • html&css (3)
    • css (6)
    • TIL (6)
    • react (15)
    • ํšŒ๊ณ  (5)
      • ์ฃผ๊ฐ„ํšŒ๊ณ  (2)
    • ๊ฐ•์˜ ์ •๋ฆฌ (3)
      • ์ฝ”๋“œ์ž‡ ๋ฆฌ์•กํŠธ ๊ฐ•์˜ ๋ชจ์Œ (3)
    • ์˜ค๋ฅ˜๋กœ๊ทธ (4)
    • ํ”„๋กœ์ ํŠธ (15)
    • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ (2)
    • Computer Science (4)
      • ๋จธ์‹ ๋Ÿฌ๋‹ (3)
      • ์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ (1)
    • ์˜คํ”ˆ์†Œ์Šค (3)
    • ์›น (1)
    • ์ฝ”๋“œ๊ฐœ์„  (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ๊ฐœ๋ฐœ์ž
  • ๊ณต์‹๋ฌธ์„œ
  • canvas api
  • game
  • javascript
  • react
  • ๋ฆฌ์•กํŠธ
  • css property
  • ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ
  • ๊ฒŒ์ž„
  • Object
  • ํ”„๋ก ํŠธ์—”๋“œ
  • Flappy game
  • react icons
  • CSS
  • ์ƒ์†
  • redux
  • ์˜คํ”ˆ์†Œ์Šค
  • prototype
  • initial value
  • Recoil
  • white-space

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
๊น€ํƒœ์ง„
[๋ฐฑ์ค€ ์™„์ „ํƒ์ƒ‰] ๊ณ ์ธต ๊ฑด๋ฌผ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.